我的 edmx 模型中有一个 one 实体,它具有一个可以包含大量 XML 数据的属性。
基本上我想在没有这个属性(列)的情况下加载这个实体 /* 大量数据加载 */ 。并且仅在严格需要时才加载此列。
我试图创建一个包含此属性的继承实体并从基础实体(原始实体)中删除此属性。我已经完成了映射。此时我有问题,在编译过程中出现错误,该基本实体无法插入和更新自身,因为属性不可为空
我正在寻找如何解决这种情况的最佳方法(解决方案)。
我正在附上我的 emdx 设计师的剪纸(包含我当前和所需的情况)
更新:
我将尝试编写一个我尝试过的过程:我将函数映射到我的自定义函数。对于没有 XML 列(属性)的实体 TRP_TechReport_T。然后我只是将实体 TRP_TechReport_T 函数映射到我的自定义函数(包含 XML 列)。
然后我在实体 TRP_TechReport_T 上设置映射条件:When TRP_XML = Empty.String
TechReport_T 映射:
TechReport_T 功能:
TechReportFull_T 映射:
TechReportFull_T 函数:
此时我收到错误:
错误 2 错误 3032:从第 3754 行开始映射片段时出现问题:条件成员 'TRP_TechReport_T.TRP_XML' 的条件不是 'IsNull=False' 被映射。删除 TRP_TechReport_T.TRP_XML 上的条件或将其从映射中删除。
该列在数据库中不能为空,也不能为空。
我可以将 XML 属性硬设置为可为空,但在从数据库更新模型的情况下,信息将丢失。
目前,这是我唯一能想到的。