【发布时间】:2023-03-25 18:14:01
【问题描述】:
按照ASP.Net 5 Getting Started 文档,我看到因为dependency injection 在任何将访问数据库的控制器的顶部,我需要放置类似的东西
private DbContext _Context;
public HomeController(DbContext Context)
{
_Context = Context;
}
将 DbContext 注入到控制器中以供使用。在我的 ASP.Net 5 MVC 6 Web 应用程序中,每个页面都将与数据库交互,所以我想我会创建一个 BaseController,我的控制器的重置将从那里继承并将注入代码放在那里。我已经这样做了,但是从BaseController 继承的每个控制器都会给我错误
没有给出与 'BaseController.BaseController(DbContext) 的所需形参 'Context' 对应的参数
我是 DI 的新手,不确定我做的事情是否正确,或者是否可以按照我想要的方式完成。是否可以这样做,或者我是否必须将该代码放在我制作的每个控制器上,如果我必须这样做,我如何在BaseController 中编写与数据库交互的操作?
【问题讨论】:
标签: dependency-injection asp.net-core asp.net-core-mvc entity-framework-core