[英]Handling Entity-Framework Context
在新的MVC-5
模板中, App_Start
文件夾中有一個名為Startup.Auth.cs
的文件,其中包含以下幾行(以及其他一些數據):
// Configure the db context and user manager to use a single instance per request
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
a single instance per request
意味着什么? 像這樣調用ApplicationDbContext
什么區別:
var context = HttpContext.GetOwinContext().Get<ApplicationDbContext>();
並將此聲明放置為Controller class
的字段:
public class HomeController : Controller
{
private ApplicationDbContext context = new ApplicationDbContext();
是否有處理context
的首選方法? 是提供context
的singleton class
嗎?
這只是在調用任何一種操作方法時創建上下文對象的便捷方法。 您希望每個請求一個實例,因為您希望所有對象都附加到同一上下文實例。 您還希望上下文的生命周期為請求生命周期。
如果要使用第二種方法,則private ApplicationDbContext context = new ApplicationDbContext();
您必須將其放入每個控制器中。 您可以創建某種功能相同的基本控制器,並且僅從您的基本控制器繼承。
同樣,這只是用於演示的一種便捷方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.