0

こんにちは、EF 4.1 を使用して、コード ファイルを解析し、言語構造 (プロパティ、メソッド、イベント、関数、サブルーチン) を db に保存するパーサーを作成しました。解析全体で使用される DBContext のインスタンスは 1 つだけです。

解析中の各ファイルは、エンティティのさまざまなオブジェクトを作成し、そのファイルが解析されると dbcontext を保存します。ただし、保存後でも、エンティティのローカル コレクションを確認すると、メモリ内のオブジェクトは次のように表示されます: DbContext.EntityName.Local

そのため、いくつかのファイルを解析した後、エンティティのメモリ内ローカル コレクションが大きくなり続け、かなりの量のメモリが消費され、プロセス全体がハングアップします。

dispose() を呼び出さずにエンティティのローカル コレクションをクリアする方法はありますか?

4

1 に答える 1

0

まさにこの理由から、コンテキストは短命であるべきです。

Detachエンティティを保存した後は、いつでもエンティティを使用できます。

于 2012-08-09T07:56:43.933 に答える