我有流动的课程:
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;
请问我的案例最合适的继承类型是什么?
答案 0 :(得分:0)
我认为你走的路太复杂了。如果我理解正确 - 您需要将PersonCreateDate
和EmployeeCreateDate
分开。
public class Person
{
public DateTime CreateDate {get;set;}
}
public class Employee
{
public DateTime CreateDate {get;set;}
public virtual Person BasedOnPerson {get;set;}
}
在数据库中,Employee
必须有Person
的外键。