假设我的应用程序使用两个表,表示为两个实体:Person和Employee。
和
我正在尝试实现Table-Per-Type继承,但我不知道如何在表Employee中插入行。
EmployeesRepository:
public MenuItem GetByPersonId(int personId)
{
return (from e in _entities.People.OfType<Employee>()
where e.PersonId== personId
select e).FirstOrDefault();
}
public void Add(Employee employee)
{
_entities.AddToPeople(employee); //Here it doesn't work
}
public void Save()
{
_entities.SaveChanges();
}
答案 0 :(得分:0)
EF中的TPT不支持更改类型。
我在这里找到了解释: Changing the type of an (Entity Framework) entity that is part of an inheritance hierarchy
我可以使用存储过程解决它。 但我不会使用继承,我更喜欢使用导航属性。继承不再流行。