我在N層應用程序中遇到了與我的上下文生命週期有關的問題。在實體框架中管理上下文生命週期
我使用的是包裝的一個例子:
Public Class User
Private _user As DB.User
Private context As New DB.MyContainer
Public Sub New(ByVal UserID As Integer)
_user = context.Users.FirstOrDefault(Function(x) x.Id = UserID)
End Sub
Public Sub Save()
context.SaveChanges()
End Function
這種方法引起我的UI層的問題。數據可以由UI層更新,並且這仍然會返回「過時」數據,因爲上下文尚未處理。如果在Finalize()中設置了context.Dispose(),那麼我無法訪問該類的任何屬性。
我應該每次調用.reload()還是應該縮短上下文?爲了縮短它,我不必分離實體,然後在調用Save()時將它重新附加到新的上下文中?
它是Windows窗體還是ASP.Net? – Win
Asp.net vb ..... –