2

アプリケーションでキャッシュを行っています。アプリケーションの起動時に、データベースから数百万行のデータをプリフェッチし、ローカル キャッシュに詰め込みます。

私の問題は、フェッチ操作中にEFを介してそのデータをすべてロードしているときに、オブジェクトグラフが巨大になることです(約4GB、コンテキストを破棄するとすぐに消えます)。アプリケーションがメモリ不足にならないように、このクエリのスコープ内 (またはコンテキストの有効期間) 内のオブジェクトを追跡しないように EF に指示できるようにしたいと考えています。

これを行う良い方法はありますか?

4

1 に答える 1

3

You can use the AsNoTracking method

var entities = dbContext.MyEntities.Where(/**/).AsNoTracking();
于 2012-02-23T00:43:18.070 に答える