Entity framework 4 在实体框架4中的TPH继承场景中使用导航属性作为鉴别器
我正在尝试使用外键/导航属性作为鉴别器创建TPH继承层次结构,但在正确使用它时遇到了一些困难 我拥有以下实体:Entity framework 4 在实体框架4中的TPH继承场景中使用导航属性作为鉴别器,entity-framework-4,single-table-inheritance,Entity Framework 4,Single Table Inheritance,我正在尝试使用外键/导航属性作为鉴别器创建TPH继承层次结构,但在正确使用它时遇到了一些困难 我拥有以下实体: Person: Id (int) Name (nvarchar) PlaneId (int) CarId (int) Car: Id (int) Name (nvarchar) Plane: Id (int) Name (nvarchar) 使用PlaneId和CarId标记FKs。我在数据库中有相应的表,可以使用VS2010 EF向导创建概念模型
Person:
Id (int)
Name (nvarchar)
PlaneId (int)
CarId (int)
Car:
Id (int)
Name (nvarchar)
Plane:
Id (int)
Name (nvarchar)
使用PlaneId
和CarId
标记FKs。我在数据库中有相应的表,可以使用VS2010 EF向导创建概念模型。然后,个人
实体有两个导航属性,汽车
和平面
现在我想从Person派生两种类型:
Pilot (condition: PlaneId is not null)
Driver (condition: CarId is not null)
因此,我添加了entity Pilot,告诉它映射到Person,并添加条件PlaneId不为null
。此时,Visual Studio(或者我猜是edmgen)抱怨必须映射具有“IsNull=false”条件的属性Person.PlaneId
我的下一步是什么?我尝试过各种方法,但似乎都没能奏效。如果您有任何见解,我们将不胜感激。您不能那样做