10

CTP 5 の Entity Framework Code First で何かを理解するのに問題があります。オブジェクトのキャッシュを行っていますが、そうしたくありません。たとえば、オブジェクトをロードするページ (ASP.NET MVC サイトで作業) をロードします。次に、データベースを変更します。ページを再読み込みしても変更が反映されません。サイトを強制終了して再実行すると、明らかに再フェッチされます。一般に、型に対して、または特定のクエリに対して、常に新しいコピーを取得するように指示するにはどうすればよいですか。MergeOption と関係があるのではないかと思いますが、CTP 5 で動作する例を見つけるのに苦労しています。ありがとう。

4

1 に答える 1

15

わかりました。以下は、EF キャッシュから取得されることがあります。

return (from m in _dataContext.Monkeys
        where m.MonkeyId == monkeyId
        select m).FirstOrDefault();

AsNoTracking() を使用して、変更の追跡/キャッシュをバイパスできます。

return (from m in _dataContext.Monkeys.AsNoTracking()
        where m.MonkeyId == monkeyId
        select m).FirstOrDefault();
于 2011-02-06T04:31:00.923 に答える