[英]Importance of the lifetime of the DbContext in database-first & code-first application development
我正在使用Entity Framework 6.1學習ASP.NET MVC。
當我了解DbContext
類時,我發現它不僅管理數據庫連接,而且還跟蹤數據中的更改。 我想了解如何管理DbContext
的生存期。 但是架構師說我不必擔心DbContext
生命周期,因為我們的產品采用“數據庫優先”(使用EDMX文件)方法,並且所有邏輯實際上都將駐留在存儲過程中。
您能否DbContext
我遵循的DbContext
(或ObjectContext
)與設計方法(代碼優先vs數據庫優先)有什么關系?
當我采用“數據庫優先”的方法時,是否不必擔心DbContext
生命周期(例如,保持其活動狀態並在整個業務流程中通用,還是為同一業務流程的每一步創建一個新DbContext
)?
DbContext
是連接數據庫的行,因此,如果您正在使用EF(無論是否應該使用EF),則需要管理DbContext
的生命周期。 如果您過度使用DbContext
則內存占用可能會不必要地變大。 請記住, DbContext
並不完全等同於連接,因此處理它們並不會帶來太大的代價。
如果您不使用更改跟蹤,請考慮使用方法AsNoTracking()
,它將大大提高大型查詢的性能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.