我的项目涉及实体框架6,asp.net mvc 5,owin和ninject。
使用Owin是因为我使用ASP.NET Identity。我的dbContext vector
继承自IdentityDbContext。
由于每个请求一个DbContext是常态,我目前的解决方案如下:
在Startup.cs中:
FhtDbContext
然后在ninject配置中:
app.CreatePerOwinContext(FhtDbContext.Create);
但是,在此设置中,即使请求根本不需要数据库读/写,也会创建kernel.Bind<FhtDbContext>().ToProvider(new CallbackProvider<FhtDbContext>(ctx =>
{
return HttpContext.Current.GetOwinContext().Get<FhtDbContext>();
})).InRequestScope();
。
所以我的问题是,创建dbcontext并丢弃它有多贵?