【发布时间】:2010-12-16 12:15:28
【问题描述】:
我有几个表只共享几个导航属性和一个 ID。 我认为每个具体类型继承的表在这里会很有趣..(?) 它看起来像这样:
联系人(基础、抽象、未映射)
- 联系人ID
- 到其他表格(电子邮件、电话、..)的导航属性
Person : Contact(映射到具有各种属性 + ContactID 的表 Person)
- 各种属性
公司:联系人(映射到具有各种属性的表公司 + ContactID)
- 各种属性
现在,为了使这个工作正常,主键 (contactID) 在所有表中应该是唯一的。
然后有 2 个选项:
- GUID(不是粉丝)
- 一个额外的 DB 表生成身份(只有一个 ContactID 字段,派生表有 FK),这不会在 EF 中映射。
这个设置可行吗? 另外, ObjectContext 会发生什么? EF 在调用 SaveChanges 之前会生成什么样的临时密钥?它在对象之间是唯一的吗?
感谢您的任何想法。 迈克。
【问题讨论】:
标签: sql inheritance entity-framework-4