我是新来的NHibernate(坦率地说,以DDD概念),所以我的问题可能是简单的或不相关的,但如果有人可以帮助我与我的困惑,我会非常感激。ORM(NHibernate的),DDD和保存复杂的实体
在我的应用我使用DDD和NHibernate作为ORM。
简单的实体工作正常,但现在我处于一个阶段,我的实体变得非常复杂(所以实体A包含实体B和实体C的数组;每个实体C包含D和其他几个参数等等对...)
我的客户端应用程序是通过互联网交谈WCF服务(即谈话DB),因此速度(与有效载荷大小是相当重要的)。在少数情况下,我必须将这些复杂的DTO的数组从服务发送到客户端,然后客户端在A中更新少量值并将其发送回服务器进行保存/更新。
为了减少有效负载,我试图通过在我的映射器(我没有使用automapper等)中将它们从服务发送到客户端时取消它们在我的DTO中从B和C实体中删除未使用的属性值。
现在,当谈到拯救实体回分贝,我应该怎么办?如果我在B和C的几个变量(我已经在映射器中手动取消了该变量)将null值传回给实体A,那么当我保存A时,NHibernate将尝试保存B和C.我只想保存A,并且问NHibernate的不保存从B或C.
任何帮助什么,会祝福我。
由于提前, d在这种情况下
非常感谢Radim的解释。 – Dharmesh