实体有许多其他实体EF 4.2的集合

时间:2011-11-29 18:30:42

标签: entity-framework

我需要在我的域中为大量表格建模......我正在试图弄清楚如何正确地规范化以下内容:

我的地址实体是抽象

StreetAddress和POBoxAddress派生自地址

此域中的许多其他实体将需要一组地址,例如:

Vendor.Addresses
CondoComplex.Addresses
Employee.Addresses
PositionShift.Addresses
Location.Addresses
Guest.Addresses
Property.Addresses
Owner.Addresses

等...许多其他的事情......所以我对如何在EF中存储这些关联感到困惑?作为一个带有鉴别器列的多对多tph,或者我只是错过了树林,并且有一个不太复杂的解决方案?

2 个答案:

答案 0 :(得分:0)

继承在实体映射中被过度使用(事实上,它通常被过度使用,但尤其是在映射对象的情况下,which aren't really strongly OO in the first place并且通常不应该有行为)。大多数情况下,您应该避免使用它,因为它会使查询和数据结构变得更加复杂。您真的StreetAddressPOBoxAddress需要两种不同的类型吗?为什么?邮局不在乎。

在将复杂性纳入模型之前,需要有一个清晰,引人注目的继承案例。在这种情况下,您不仅没有它,而且您的问题表明您有充分理由不使用继承。

答案 1 :(得分:0)

将地址实体的复杂性放在一边,如果相关实体不打算共享地址,我认为创建多对多关系并不重要。我不确定你的抽象地址类是什么样的,但我会简单地用

public List<Address> Addresses {get;set;}
你实体中的