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