实体框架检索不同的实例

时间:2012-01-03 19:34:43

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

我假设对于给定的ObjectContext,如果我执行查询并检索唯一对象(即使用主键),则使用相同ObjectContext的第二个查询将为我提供非常相同的实例

然而,情况并非如此。

有人可以对此有所了解吗?

谢谢!

这是一些代码: (在这种情况下,我有一个复合键)

var x = context.MyEntity.FirstOrDefault(e => e.Key1 == 1 && e.Key2 == 5);
var y = context.MyEntity.FirstOrDefault(e => e.Key1 == 1 && e.Key2 == 5);  
var isSame = x == y;  

更新

我相信这个问题的答案在于实体的MergeOption。我注意到那些不工作的设置为NoTracking,而不是默认的AppendOnly选项。这可能是我遇到的问题的根源。

1 个答案:

答案 0 :(得分:0)

问题是由于MergeOption设置不正确。在这种特殊情况下,它被错误地设置为NoTracking。