我正在尝试在两个表之间进行实体框架继承。
家长:
ParentTable
Id: int primary key
CustomAttribute: int
孩子:
ChilTable
Id: int primary key (not the same one as the parent, Child specific Id)
TCId: int foreign key to parent
SomeInformation: String
由于某些原因,我想继续将“Id”命名为 ParentTable 和 ChildTable 的主键。这不应该打扰 EntityFramwork,因为我为子表创建了另一个名称为“CId”的自定义属性:
Child1 表映射如下:
但是当我“验证”模型时,VS2010 说......:
Error 3002: Problem in mapping fragments starting at line 103:Potential runtime violation of table Child1's keys (Child1.Id): Columns (Child1.Id) are mapped to EntitySet Parents's properties (Parents.CId) on the conceptual side but they do not form the EntitySet's key properties (Parents.Id).
基本上,我知道实体框架看到了一个问题,因为我们将表的主键映射到不是实体键的属性,但是我们应该如何使用继承?
仅当“子”表中没有主键时才允许继承?我应该将我的主键作为“简单键”吗?
提前致谢...