导航属性与继承实体框架

时间:2017-05-21 18:44:26

标签: c# .net entity-framework oop

我正在尝试探索是否有不同的方式,而不是我习惯使用EntityFramework和数据模型之间的关系。

我们说,我有以下两个类:

public class Person
{
    public string Name { get; set; }
    public string Surname { get; set; }
}

public class Employee
{
    public string JobDescripion { get; set; }
}

假设数据库中这两个模型之间存在一对多关系,Employee类中有许多模型。

我会将其映射如下:

public class Person
{
    public string Name { get; set; }
    public string Surname { get; set; }

    //Navigational Property
    public ICollection<Employee> Employees { get; set; }
}

public class Employee
{
    public string JobDescripion { get; set; }

    //navigational property 
    public virtual Person Person { get; set; }
}

对我来说,这取消了面向对象的原则,因为Employee现在不再从Person类继承,或者至少从我的理解中继承。

这是正确的设计,并且仍然被认为是良好的面向对象的代码,或者有更好的方法来处理它,例如,我想在我的代码中继承以下:

public class Employee : Person

EntityFramework将如何处理此问题?

0 个答案:

没有答案