Entity framework 实体框架-表中每个类型继承的关系
我的模型中存在以下情况:Entity framework 实体框架-表中每个类型继承的关系,entity-framework,inheritance,relationships,table-per-type,Entity Framework,Inheritance,Relationships,Table Per Type,我的模型中存在以下情况: public abstract class Person { public int PersonId { get; set; } public int FullName { get; set; } public int LanguageId { get; set; } } public class Student : Person { public int PersonId { get; set; } . .//some data . } public clas
public abstract class Person
{
public int PersonId { get; set; }
public int FullName { get; set; }
public int LanguageId { get; set; }
}
public class Student : Person
{
public int PersonId { get; set; }
.
.//some data
.
}
public class Teacher : Person
{
public int PersonId { get; set; }
.
.//some data
.
}
public class Language
{
public int LanguageId { get; set; }
public string Name { get; set; }
}
我使用TPT方法进行继承,并且运行良好。我的问题是:我想添加Language类,其中一个人有一种语言,而一种语言有很多人,所以这是一种一对多的关系。但是在TPT方法中,导航属性不能被继承,所以我不能在Person类中创建Language对象,也不能在mapping类中创建relationship,我不想在Language类中创建导航属性,因为这个表在我的模型中有很多关系,我不想删除Person类中的LanguageId,因为它是所有子类的公共属性
我在几本书、几篇文章和这几篇文章中进行了研究,但什么也没发现。在所有示例中,解释相同的情况(如),但关系方向相反
我会感谢你的帮助,谢谢 正如您在TPT中所说,导航属性不能被继承 一种解决方案是在教师和学生层面上为语言课添加一种关系 另一种方法是按照继承人的方式转移到一张桌子上