3
我正計劃在一個ASP.NET WebForms應用程序中轉移到EF以進行數據訪問。我想知道什麼時候在ASP.NET頁面生命週期中適當的時間來創建我的派生DbContext。何時在WebForms頁面生命週期中實例化DbContext?
是否應該在頁面初始化時創建並在各種頁面生命週期事件期間共享?
是否需要在特定頁面生命週期事件期間創建數據訪問時?
是否應該創建應用程序請求並通過HttpContent共享?
我正計劃在一個ASP.NET WebForms應用程序中轉移到EF以進行數據訪問。我想知道什麼時候在ASP.NET頁面生命週期中適當的時間來創建我的派生DbContext。何時在WebForms頁面生命週期中實例化DbContext?
是否應該在頁面初始化時創建並在各種頁面生命週期事件期間共享?
是否需要在特定頁面生命週期事件期間創建數據訪問時?
是否應該創建應用程序請求並通過HttpContent共享?
這不是一個具體的答案,但DbContext是圍繞工作單元模式設計的。在實踐層面上,它的目的是爲了更新,用於明確定義的(可見的)一組操作,承諾和處置。
我強烈建議不要將它附加到HttpContext或其生命週期不明顯或在您的控制之下的其他項目。您應該始終知道它處於什麼狀態,並且不應該受到副作用 - 例如其他方法不可見。儘可能保持短暫。