2011-09-27 264 views
6

我在我的應用程序上運行內存分析器以查找可能的內存泄漏。 System.Data.Metadata.Edm.TypeUsage對象的數量不斷增長,看起來這可能是我的內存問題的原因。實體框架TypeUsage對象

有誰知道從內存中釋放這些TypeUsatge對象的方法嗎?他們看起來是內部的實體框架對象,因爲我沒有在我的代碼中引用它們。我已經確認我已經在使用塊中包裝了上下文對象,並且正在釋放內存,但是此Type使用不想消失。

任何幫助,你可以提供將不勝感激。

回答

0

您可能正在查看Entity Framework下面使用的第一級緩存(更改跟蹤器)。要閱讀更多關於它的信息,請查看。如果在這裏有內存泄漏,我會很驚訝,更可能這是正常行爲。你看到多少內存泄漏?

要釋放內存,請嘗試使用另一個合併選項(如NoTracking)。缺省值爲AppendOnly,它將保留您可能再次使用的內存中的類型。 NoTracking合併選項每次都會進入數據庫,並且不會在內存中保留任何內容。

希望這會有所幫助。