在存储库实例中实例化DbContext



在ASP.NET MVC3应用程序中,我的控制器将使用一组BL"管理器"类,这些类又将使用存储库。这些存储库依赖于EF DbContext实例来执行其职责。

我计划配置IoC容器,以以下方式(在数据模块中)进行依赖项注入

Bind<StoreContext>().ToSelf().InRequestScope();
Bind<ICatUserRepository>().To<GenericUserRepository>().InRequestScope();

1是CCD_ 2。它是注入到GenericUserRepository中的构造函数。这样,我想,在PerRequest中实例化我的DbContext的规则将保持满足,对吧?

是的,因为ICatUserRepository是在请求范围级别上解析的,IoC容器在解析了GenericUserRepository的依赖关系以进行构造函数注入后,将在此时(对于每个请求)创建一个新的CCD_5实例。

解析StoreContext依赖关系意味着IoC容器将通过StoreContext的绑定,检查当前请求是否已经有StoreContext的现有实例,如果没有,则创建一个新的副本以注入-在您的情况下,这意味着您为每个新请求都获得一个StoreContext的新实例。

最新更新