外部キー/ナビゲーション プロパティをディスクリミネータとして使用して TPH 継承階層を作成しようとしていますが、正しく作成するのに問題があります。
次のエンティティがあります。
Person:
Id (int)
Name (nvarchar)
PlaneId (int)
CarId (int)
Car:
Id (int)
Name (nvarchar)
Plane:
Id (int)
Name (nvarchar)
withPlaneId
とCarId
beign FK。データベースに対応するテーブルがあり、VS2010 EF ウィザードを使用して概念モデルを作成できます。Person
エンティティには、2 つのナビゲーションプロパティCar
とPlane
.
ここで、Person から 2 つの型を派生させたいと思います。
Pilot (condition: PlaneId is not null)
Driver (condition: CarId is not null)
そこで、エンティティ Pilot を追加し、それを Person にマップするように指示し、 condition を追加しますPlaneId is not null
。この時点で、Visual Studio (または edmgen だと思います) は、プロパティがPerson.PlaneId with 'IsNull=false' condition must be mapped
.
私の次のステップは何ですか?私はさまざまなアプローチを試みましたが、うまくいかないようです。どんな洞察も大歓迎です。