我有一个与Entity Framework对话的基本控制器。我正在创建一个linux-4.9.82
来与基本控制器中的实体进行通信。当我将我的家庭控制器继承到基本控制器时,它会抛出下面显示的错误。关于这个的任何指示?
错误讯息:
严重级代码描述项目文件行抑制状态错误CS7036
没有给出的参数对应于'BaseController.BaseController(ServiceContext)'所需的形式参数'context' Service \ Controllers \ HomeController.cs
代码:
dbContext
我的public class BaseController : Controller
{
ServiceContext _baseContext;
public BaseController(ServiceContext context)
{
_baseContext = context;
}
}
继承自基本控制器。
HomeController
答案 0 :(得分:5)
假设您正确地将ServiceContext
注入HomeController
,它应该是这样的:
public class BaseController : Controller
{
protected readonly ServiceContext _baseContext;
public BaseController(ServiceContext context)
{
_baseContext = context;
}
}
public class HomeController : BaseController
{
public HomeController(ServiceContext context)
:base(context)
{
}
}
此外,由于您要从ServiceContext
访问HomeController
,因此请protected
。此外,没有必要在HomeController
答案 1 :(得分:2)
基类构造函数需要context
参数。因此,您应该将一个传递给基类的构造函数:
public HomeController(ServiceContext context) : base(context)
{ }