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