C# OWIN DbContext和我所有存储库的单个DbContext
我正在构建一个ASP.NET MVC应用程序。我不熟悉整个存储库/工作单元模式。我正在为我的EF对象实现一个通用存储库 我意识到,确保每个Http请求只有一个DbContext是一个问题。。。我非常确信,我可以通过使用OWIN创建一个实例来实现这一点C# OWIN DbContext和我所有存储库的单个DbContext,c#,ninject,dbcontext,owin,C#,Ninject,Dbcontext,Owin,我正在构建一个ASP.NET MVC应用程序。我不熟悉整个存储库/工作单元模式。我正在为我的EF对象实现一个通用存储库 我意识到,确保每个Http请求只有一个DbContext是一个问题。。。我非常确信,我可以通过使用OWIN创建一个实例来实现这一点 /// <summary> /// Configures OWIN /// </summary> /// <param name="app"></param>
/// <summary>
/// Configures OWIN
/// </summary>
/// <param name="app"></param>
public void Configuration(IAppBuilder app)
{
// Create instance of database context
app.CreatePerOwinContext<QuizEntitiesDbContext>(GetQuizEntitiesDbContext);
}
/// <summary>
/// Returns an instance of the QuizEntitiesDbContext database context
/// </summary>
/// <returns></returns>
public static QuizEntitiesDbContext GetQuizEntitiesDbContext()
{
return new QuizEntitiesDbContext();
}
- 我应该使用这个/OWIN还是两者都使用
- 我是否需要将DbContext包装到接口或其他东西中
将它绑定到self
IIRC,前提是直接依赖DbContext
不会让您感到害怕;)我只是想知道,对于我使用的每个存储库,使用一个单独的DbContext实例是否明智…?哦,我明白你的意思了!我可以将我的quizenties对象绑定到self
,无论何时使用它,它都会得到相同的实例!?
this.kernel.Bind(IMyDbContext).To(MyDbContext).InRequestScope();