ADO.Net实体框架自定义实体问题

时间:2010-04-28 14:58:04

标签: c# entity-framework entity-framework-4

正确......致电所有实体框架专家......

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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