实体框架中的POCO继承

时间:2012-04-24 10:05:16

标签: entity-framework poco

我有2个项目,一个处理数据访问,它使用实体框架和POCO对象来完成它。第二个项目引用DAL Project来访问数据库。

在我的第二个项目中,我需要继承POCO类并为某些属性和其他东西提供一些默认值,最后我想将这个类或“它的基类”添加到实体框架的对象上下文中

但每次我都会得到一个异常,上面写着“无法找到EntityType'MyInheritedClass'的映射和元数​​据信息”

无论如何,如果不使用分部类或编辑具有数据访问层的项目,是否可以解决此问题。

由于

1 个答案:

答案 0 :(得分:1)

不幸的是没有。如果未映射,则当前版本的EF无法使用派生类。如果映射一个类,则必须使用该类类型进行数据检索和持久化 - EF将永远不会获得非映射派生类型的实例,并且它也不会接受派生类型,因为EF不知道类型。

如果要使用派生类,则必须直接在数据访问库中定义它,并且该类必须是映射继承的一部分(在这种情况下,继承将反映在数据库中)。否则不要使用继承的类并将所有其他属性和逻辑直接移动到原始POCO(这是btw。假设的用法)。

相关问题