实体框架4.1在派生类上设置EntityState会抛出异常

时间:2011-11-03 09:49:52

标签: entity-framework entity-framework-4.1

我遇到了EF 4.1的问题。我正在尝试将分离的对象添加到DbContext。问题是它不是emd映射对象,而是从它派生的。更改映射不是一个选项,因为一些团队正在使用具有常规映射BL类的模型,但我的项目为UI内容创建了派生模型。即使有施法,我总是收到

InvalidOperationException ("Mapping and metadata information could not be found for EntityType ...").

我想要的是EF将其视为基类并将对象放入BaseClass的DbSet中。目前的EF代码是:

Context.Entry(object).State = EntityState.Added

但我愿意接受其他建议,即使是 通过IObjectContextAdapter,只要它可以保存Base和Supertype。这应该很简单吧?!映射到新的基类实例并不是一个好主意,因为主要对象临时Id在保存后不会更新...

谢谢!

1 个答案:

答案 0 :(得分:0)

据我所知,这是不可能的。您不能使用实体中的派生类而不是实体。您必须映射派生类,或者为持久性创建实体的新实例,并将派生类实例中的所有字段复制到实体实例。