FluentNhibernate,指定或自动生成外键字段?

时间:2011-06-06 15:46:05

标签: c# .net database nhibernate fluent-nhibernate

我正在学习FluentNHibernate,直到现在我还没有将FK指定为属性字段,但我从映射中自动生成它们。

但这还够吗?在我看来,在这种情况下,如果我想保存一些对象,我只能通过保存整个聚合根来保存(新对象)。虽然我有时认为仅保存一些较低级别的对象更合适。

所以我认为这个问题涉及聚合根的使用。它们如何构建?我认为一个聚合可能是另一个聚合的一部分,这意味着你可以实际保存较低级别的聚合而不保存整个根。这是真的?在这种情况下,如果我们处理新添加的实体,我们不需要指定FK吗?因此,这个字段必须在我们的类中编码,而不是像我现在那样简单地自动生成?

1 个答案:

答案 0 :(得分:0)

如果您确实要保存单个实体而不是聚合根,则需要定义引用父实体的属性,允许您设置它并保存单个实体。我个人认为没有任何问题。虽然显然是this is not good DDD practice

要保存较低级别的实体而不是它的聚合根,您无论如何都需要指定父级。我想这就是为什么最好直接使用root。

相关问题