1

对...呼叫所有实体框架专家...

我的数据库中有一个名为 Bob 的表,我的 EF 模型包含此表的精确映射/定义。我还有一个名为 Jim 的表,它也映射到我的实体模型。Bob 可以有多个 Jim,并且这种关系应该由外键约束来强制执行。所以这里的关系是玫瑰色的。但是,我还在名为 JimSnapshot 的 EF 模型中创建了自己的实体。该实体看起来与 Jim 实体完全相同。创建 Bob 时,会在该点拍摄 Jim 的快照,并将其作为非常扁平的 XML 存储在 Bob 中名为 JimSnapshotXML 的列中。

我想要做的是让 JimSnapshot 实体与 Bob 相关,并用 JimSnapshot 实体的填充版本替换 JimSnapshotXML 属性。或者至少让 Bob 可以访问 JimSnapshot 实体并隐藏 JimSnapshotXML 属性。

这可能吗?我该怎么做?这有什么意义吗?

本质上,我的目标是能够按如下方式访问上述内容(C#);

var snapshot = Bob.JimSnapshot;
var jim = Bob.Jim;
4

1 回答 1

0

您可以尝试在扩展实体代码的分部类中创建一个包装器属性,该实体代码将在 getter 中创建 JimSnapshot 的实例,并在 setter 中编写正确的 XML。
但是,更改跟踪会有问题,您必须显式分配此属性或处理 SavingChanges 事件以将更改保存到 XML。

于 2010-04-30T16:09:11.193 回答