我遇到了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在保存后不会更新...
谢谢!
答案 0 :(得分:0)
据我所知,这是不可能的。您不能使用实体中的派生类而不是实体。您必须映射派生类,或者为持久性创建实体的新实例,并将派生类实例中的所有字段复制到实体实例。