2 つのテーブル間で Entity Framework を継承しようとしています。
親:
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
何らかの理由で、ParentTable と ChildTable の両方の主キーに「Id」という名前を付け続けたいと考えています。子テーブルの別の名前「CId」でカスタム プロパティを作成したので、EntityFramwork を気にする必要はありません。
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).
基本的に、Entity Framework は、テーブルの主キーをエンティティのキーではないプロパティにマップするという事実に問題があることを理解していますが、継承をどのように使用するのでしょうか?
「子」テーブルに主キーがない場合にのみ継承が許可されますか? 主キーを「単純なキー」にする必要がありますか?
前もって感謝します...