有人可以解释一下create方法的用途吗?
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
最佳答案
如果你看到这个Create
静态方法的引用,你会发现这个方法已经在Startup
部分的ConfigureAuth
方法中使用了App_start
文件夹下的 Startup.Auth.cs
文件中的类如下:
public partial class Startup
{
public void ConfigureAuth(IAppBuilder app)
{
// Configure the db context, user manager and signin manager to use a single instance per request
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
// Removed other codes for brevity
}
}
这里CreatePerOwinContext注册一个静态回调,您的应用程序将使用它来获取指定类型的新实例。 每个请求都会调用此回调一次,并将一个或多个对象存储在 OwinContext 中,以便您能够在整个应用程序中使用它们。
关于c# - ASP.NET MVC ApplicationDbContext 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54320342/