对我来说,EF中最适合的继承类型是什么?

时间:2014-12-20 10:35:04

标签: c# entity-framework ef-code-first

我有流动的课程:

public abstract class Person
{
    //...
    public DateTime CteatedAt{get;set;}
    public DateTime UpdatedAt{get;set;}
    // ....
}

public class Employee : Person
{
    // ...
    public DateTime CreatedAt{get;set;}
    public DateTime UpdatedAt{get;set;}
    // ...
}

我希望数据库表看起来像:   - 人员表:(id,...,createdat,updatedat);   - 员工表:(id,...,createdat,updatedat);

并且在代码中,当我需要人员创建日期时,我会这样做: 员工; datetime pcd =(Person)em.CreatedAt; 当我需要员工创建日期时: datetime ecd = em.CreatedAt;

请问我的案例最合适的继承类型是什么?

1 个答案:

答案 0 :(得分:0)

我认为你走的路太复杂了。如果我理解正确 - 您需要将PersonCreateDateEmployeeCreateDate分开。

public class Person
{
    public DateTime CreateDate {get;set;}
}

public class Employee
{
    public DateTime CreateDate {get;set;}
    public virtual Person BasedOnPerson {get;set;}
}

在数据库中,Employee必须有Person的外键。