将DbContext注入控制器的正确方法

时间:2016-07-21 21:54:39

标签: asp.net-mvc unity-container dbcontext

如果我希望将DbContext注入我的一个控制器,如下所示:

public class HomeController : Controller
{
    MyDbContext _db;

    public HomeController(MyDbContext db)
    {
        _db = db;
    }

    ...
}

使用Unity配置此功能的正确方法是什么。上下文必须根据请求进行实例化,因此PerRequestLifetimeManager似乎是自然的选择。但是从阅读this documentation开始,似乎建议PerRequestLifetimeManager反对。术语"线程不安全依赖"使我紧张使用它,因为警告它会导致最终用户的应用程序代码中出现错误"。警告似乎很模糊,但不清楚实际上有什么危险。任何人都可以举例说明使用PerRequestLifetimeManager时可能出现的错误吗?如果建议这个终身经理反对,那么将DbContext注入我的控制器的更好方法是什么?

0 个答案:

没有答案