【发布时间】:2009-06-10 14:53:48
【问题描述】:
在我的领域驱动设计中,我有一个包含实体,比如 Car,它有一个组成实体列表,例如轮子。
现在,我想向我的汽车实体添加一个 ChangeWheel 方法。请注意,更换车轮并不会真正修改汽车实体。它只影响其车轮集合中的一个实体。 IE。 Car 实体有一个 IList 属性。在我的数据库模式中,我有一个没有引用 Wheels 的汽车实体 - 相反,Wheels 表有一个 CarId 的外键。
当我更换汽车的车轮时,我会更新特定的车轮记录。我要更新的唯一其他表是数据库中的版本审核表。
如果我通过 NHibernate 从存储库中提取 Car 实体,调用 ChangeWheel(...),然后再次保存,我可以将 NHibernate 配置为不保存新版本的 Car 记录吗?
我希望这一切都有意义 - 如果没有,请询问并提前感谢。
【问题讨论】:
-
任何好的ORM都应该只在记录中的数据实际发生变化时才将数据保存到数据库表中。
标签: c# java domain-driven-design