我的應用程序使用一個存在於應用程序生存期的上下文實例。我使用實體框架來讀取和寫入所有數據到數據庫。添加對象之後,我希望它們被垃圾收集器清理,以便它們不會留在內存中。我已經試過如下:context.detach - 用於垃圾回收
While context.BatchProgresses.Count > 0
context.Detach(context.BatchProgresses.First())
End While
但這是運行到一個無限循環。 Context.Detach()
不應該從Context.BatchProgresses
中刪除項目?
單身上下文是一個非常糟糕的主意,只會在痛苦中結束。上下文是一個工作單元。你的工作單位不是「我應用程序的整個生命週期」。 – 2010-07-09 12:59:34
我很欣賞這個建議。我最終將任務分解成多個上下文。我最初避免了這種策略,因爲我擔心在定時器循環中創建和銷燬上下文的性能影響,但事實證明幾乎沒有性能影響。 – Terry 2010-07-13 20:30:09