实体框架检索不同的实例

本文关键字:实例 框架 检索 实体 | 更新日期: 2023-09-27 18:19:16

我假设对于给定的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选项。

实体框架检索不同的实例

问题是由于不正确的MergeOption设置。在这个特殊的例子中,它被错误地设置为NoTracking