EF4 TPT插入继承表

时间:2010-09-25 00:05:52

标签: entity-framework-4 table-per-type

假设我的应用程序使用两个表,表示为两个实体: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();
    }

1 个答案:

答案 0 :(得分:0)

EF中的TPT不支持更改类型。

我在这里找到了解释: Changing the type of an (Entity Framework) entity that is part of an inheritance hierarchy

我可以使用存储过程解决它。 但我不会使用继承,我更喜欢使用导航属性。继承不再流行。