将派生类作为基类插入

时间:2014-09-25 09:52:27

标签: c# entity-framework

在我目前的解决方案中,我们使用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< =无答案

注意重复:

在实例化派生类型的新类时,我的问题不会发生。它仅在保存到数据库时发生

0 个答案:

没有答案