簡體   English   中英

DbContext生命周期在數據庫優先和代碼優先的應用程序開發中的重要性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM