【发布时间】:2015-07-04 21:58:29
【问题描述】:
EF 6(代码优先)是否支持复杂类型集合(值对象集合)映射?我知道它支持复杂类型,但还没有找到我们拥有复杂类型集合的示例。
例如,假设您有一个名为 Student 的实体,它有一个联系人集合。对于 NH,我可以简单地说 Student 有一个联系人集合,并且该联系人是一个组件(相当于 ef 中的复杂类型)。这可以在不更改与实体的联系的情况下使用 EF 完成吗?
【问题讨论】:
-
我不知道 NH,但在 EF 中,您可以声明一个 X-to-X 关系,它可以满足您的需求,是的。不过,我不确定您所说的“不改变与实体的联系”是什么意思。
-
你好杰罗恩。我的理解是,当您在使用 EF 时将对象映射到表时,您需要指定主键,对吧?我不想对 Contact 这样做,因为正如我所说,它表现为一个值对象,而不是实体
-
很遗憾,我相信答案是否定的……
-
它是另一个具有外键的表,并且 nh 不强制映射值类型的主键(这就是它被称为值类型的原因!)
-
我希望他们这样做...同时,我会继续使用 NHibernate...
标签: c# entity-framework domain-driven-design complextype value-objects