使用Unity IOC将dbcontext注入我的控制器和服务层?

时间:2014-02-18 04:59:43

标签: asp.net asp.net-mvc entity-framework unity-container entity-framework-6

如何使用Unity IOC将dbcontext注入服务层。特别是我想确保我只有一个dbcontext,并且我想确保在正确的时间销毁它,即使我使用的是异步。

我的应用程序使用EF6和Generic存储库。那里有很多代码,我已经决定删除​​Generic存储库,使用EF6上下文作为我的UOW,使用dbsets作为我的存储库。这似乎是SO上一些经验丰富的开发人员推荐的方法。请记住,我不想更改我的ORM数据库。该应用程序只有不到20个表,我有很多方法可以在不使用其他存储库的情况下对其进行测试。

1 个答案:

答案 0 :(得分:0)

我不确定将您的数据库上下文注入您的服务层是什么意思,"但假设您的意思是基于标记的ASP.NET MVC网站,您只需要使用全局DependencyResolver类设置容器,并确保将您的上下文设置为使用{{请求生命周期3}}

您可以在MVC PerRequestLifetimeManager中找到依赖注入的良好细分。