一个类是否可以从Entity Framework类继承并仍然使用继承的类映射保留回DB?

Joh*_*ert 1 mapping inheritance entity-framework-4 self-tracking-entities

一个类是否可以从Entity Framework类继承并仍然使用继承的类映射保留回DB?当我尝试和SaveChanges声明Type没有任何映射时,我收到了试图从"自我跟踪实体"类派生的错误.我希望,因为Type是从Entity类继承的,它也可以以某种方式继承实体映射以使其工作.有没有人能够让这个工作?

我试图支持的场景是在另一个引用包含实体和映射的程序集的程序集中扩展Entity对象.部分类和映射将编译到包含Entity对象的程序集中.所以我不能通过使用部分类来实现这一点.

Lad*_*nka 5

不,EDMX(和自我跟踪实体)是不可能的.如果要存储派生类型,也必须映射它.如果您需要向生成的代码添加任何内容,请使用您自己的实体类的部分部分.

令人惊讶的是,它似乎可以使用代码优先(EFv4.1和DbContext API),但在这种情况下,您无法使用自我跟踪实体.我刚刚检查了数据库,也不可能使用代码优先.它默默地创建TPH继承,派生类被映射为另一个实体.