在我目前的解决方案中,我们使用Entity Framework (4.0)
。我有映射到数据库的模型。在该模型中,我有一个名为“objectType
”的Document
,其映射到表格“Document
”。
在我的解决方案中,我有一个继承自ExtDocument
的对象Document
。 ExtDocument包含一些额外的属性,提供额外的信息,但don't have any influence on the existing properties of the baseclass.
我在整个应用程序中使用的主要对象是ExtDocument
。
因为它可能发生,我们想写一个Document NOT ExtDocument
。到我们的数据库
所以我想使用以下代码:
dbContext.Document.AddObject((Document) doc);
或
dbContext.Document.AddObject((doc As Document));
但是在两个实例中都抛出了一个异常,即ExtDocument
没有映射。有没有办法首先将基类写入数据库without cloning
对象?
注1 ExtDocument
是唯一将从Document
注释2 我遇到了很多问题,只是略微提到我的问题,但没有提供解决方案或解释了为什么我不能这样做(没有克隆)。
的示例:
metadata-information-not-found-while-using-ef4s-poco-template
ef-mapping-and-metadata-information-could-not-be-found-for-entitytype-error
map-derived-type-to-the-same-table-in-ef
how-to-properly-display-or-save-inheriting-classes-into-database-with-entity-fra< =无答案
注意重复:
在实例化派生类型的新类时,我的问题不会发生。它仅在保存到数据库时发生