在 MVC6 和 EF7 的 BaseController 中初始化 DbContext?

Initizlizing a DbContext in a BaseController for MVC6 and EF7?

根据 ASP.Net 5 Getting Started 文档,我看到由于 dependency injection 在任何将访问数据库的控制器的顶部,我需要放置类似

的内容
private DbContext _Context;

public HomeController(DbContext Context)
{
      _Context = Context;
}

将DbContext注入controller使用。在我的 ASP.Net 5 MVC 6 Web 应用程序中,每个页面都将与数据库交互,所以我想我会创建一个 BaseController,我的控制器的重置将从中继承并将注入代码放在那里。我已经这样做了,但是从 BaseController 继承的每个控制器都给我错误

There is no argument given that corresponds to the required formal parameter 'Context' of 'BaseController.BaseController(DbContext)

我是 DI 的新手,不确定我做的事情是否正确,甚至不确定是否可以按照我想要的方式完成。是否可以这样做,或者我是否必须将该代码放在我制作的每个控制器上,如果我必须这样做,我如何在 BaseController 中编写一个与数据库交互的动作?

如果您的基础控制器有一个采用 DbContext 的构造函数,那么继承它的任何控制器也必须使用与此相同的构造函数,以便它可以将依赖项传递给基础 class:

public HomeController(DbContext Context):base(Context)
{

}