mur*_*uge 9 .net inheritance hierarchy entity-framework-4 table-per-hierarchy
我试图理解EF4中的继承映射.
我的数据库有两个表,结构如下:
PersonCategory表:
人员表
PersonCategory表有四个条目,每个条目代表一个类别 - Student,CourseInstructor,Staff和Advisor.
从在线阅读文章,我认为Table Per Hierarchy将是适用于此场景的模型.所以在EF4中,我创建了四个实体(Student,CourseInstructor,Staff和Advisor),每个实体都继承自Person表.然后我将它们中的每一个映射到Person表并向每个表添加一个条件(例如,StudentID = 1表示Student实体,CategoryID = 2表示Staff实体)以区别于其他表.我还从Person表中删除了CategoryID属性并使其成为抽象类.但是我收到以下错误,因为我从Person表中删除了CategoryId属性.
错误3015:从第101,108,114,120,126,133行开始映射片段时出现问题:从表Person(CategoryID)到表PersonCategory(CategoryID)的外键约束'FK_Person_PersonCategory'::映射不足:必须映射外键一些参与概念方面的外键关联的AssociationSet或EntitySets.
Table Per Hierarchy是适用于此场景的模型吗?如果没有,那么我应该如何在EF4中处理这种情况?
在关联中使用鉴别器列是有问题的.看到:-
"关键点是作为鉴别器的列不能映射到关联,除非它参与非空条件."