我正在努力实现以下最终结果。我的 Person 实体需要一个额外值的集合,并且这个值集合会因 Person 实例而异。我还有另一个 Contact 实体,它同样可以从实例到实例具有额外的值。
因此,我需要三个表,一个 Person、Contact 和一个 Extra,其中 Extra 为每个需要额外值的 Person 和 Contact 实例提供一组额外的值。通过为 Person 和 Contact 提供 GUID 字段,这意味着 GUID 值在两个表中都是唯一的,因此我可以将其用作要加入的字段。所以我希望定义看起来像这样......
Person
Id - int - Primary Key
Instance - GUID - Unique Constraint
Contact
Id - int - Primary Key
Instance - GUID - Unique Constraint
Extra
Id - int - Primary Key
Instance - GUID
Value - string
但我无法将其建模到实体框架中。我希望我的 Person 和 Contact 实体有一个集合,每个集合都是与该实体相关的一组 Extra 值。我用上面指出的列集创建了三个表。
但是我无法让关联按预期工作,它总是希望根据 Person 和 Contact 实体的主键向数据库添加额外的列。任何想法如何真正让它发挥作用?或者这在 EF 中是不可能的?