EntityFramework继承 - 忽略不可为空的列

时间:2012-11-22 12:23:17

标签: entity-framework inheritance orm

我的edmx模型中有一个实体,它有一个可以包含大量XML数据的属性。

基本上我想在没有此属性(列)/ *巨大数据加载* /的情况下加载此实体。并且仅在严格需要时才加载此列。

我尝试创建一个包含此属性的继承实体,并从基本实体(原始实体)中删除此属性。我做了映射。 这时我有问题,在编译期间我得到错误,该基本实体无法插入和更新自身,因为属性不可为空

我正在寻找最佳方法(解决方案)如何解决这种情况。

我正在附加我的emdx设计师的剪辑(包含我当前和期望的情况)

EntityFrameWork view

更新

我会尝试编写一个我尝试过的程序: 我将函数映射到我的自定义函数。对于没有XML列(属性)的实体TRP_TechReport_T。然后我只是将实体TRP_TechReport_T函数映射到我的自定义函数(包含XML列)。

然后我在实体TRP_TechReport_T上设置Mapping条件:当TRP_XML = Empty.String

TechReport_T映射: TechReport mappings

TechReport_T功能: enter image description here

TechReportFull_T映射: Entity TechReportFull_T mappings

TechReportFull_T功能: TechReportFull_T functions

此刻我收到错误:

  

错误2错误3032:从第3754行开始映射片段时出现问题:映射了条件成员'TRP_TechReport_T.TRP_XML',条件不是'IsNull = False'。删除TRP_TechReport_T.TRP_XML上的条件或从映射中删除它。

该列在数据库中不可为空,不得为。

我可以将XML属性硬设置为可空,但是在从数据库更新模型的情况下,信息将丢失。

目前这是我唯一能想到的。

0 个答案:

没有答案