2
私は、特定のObjectContextに対して、クエリを実行して一意のキー(つまり主キーを使用する)を取得すると、同じObjectContextを使用する2番目のクエリは私に非常にオブジェクトのインスタンス。異なるインスタンスを取得するEntity Framework
ただし、これは必ずしも当てはまりません。
誰かがこれにいくつかの光を当てることができますか?
ありがとうございます!ここで
はいくつかのコードです: (このケースでは、私は複合キーを持っている)
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;
UPDATE
私は、この問題に対する答えは、エンティティのためのMergeOptionにあると考えています。私は、デフォルトであるAppendOnlyオプションとは対照的に、動作していないものがNoTrackingに設定されていることに気付きました。これはおそらく私が抱えている問題の根源です。
実際のクエリは何ですか?あなたが尋ねたことに基づいて、自分の質問に答えることができます。 – MethodMan
Entity Frameworkは、キャッシュ内のすべての一意のエンティティキーに固有のエントリを保持します(ソース:http:// msdn.microsoft.com/en-us/library/bb896269.aspx)。したがって、エンティティキーを変更したり、最初のオブジェクトをキャッシュから削除したりしない限り、これは起こりません。観察された振る舞いを再現するコードがありますか? – GaussZ
はいコードがあります - 私は質問を更新しました。 – Fernando