Kur*_*ula 1 c# asp.net asp.net-mvc asp.net-core-mvc
我有一个与Entity Framework交谈的基本控制器.我正在创建一个dbContext与基本控制器中的实体交谈.当我将我的家庭控制器继承到基本控制器时,它会抛出下面显示的错误.有关于此的任何指示?
错误信息:
严重级代码描述项目文件行抑制状态错误CS7036
没有给出对应于'BaseController.BaseController(ServiceContext)'Service\Controllers\HomeController.cs所需的形式参数'context'的参数
码:
public class BaseController : Controller
{
ServiceContext _baseContext;
public BaseController(ServiceContext context)
{
_baseContext = context;
}
}
Run Code Online (Sandbox Code Playgroud)
我HomeController继承自基本控制器.
public class HomeController : BaseController
{
private readonly ServiceContext _context;
public HomeController(ServiceContext context)
{
_context = context;
}
}
Run Code Online (Sandbox Code Playgroud)
如果正确注射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)
{
}
}
Run Code Online (Sandbox Code Playgroud)
此外,由于要访问ServiceContext来自HomeController故亦protected.也没有必要设置它HomeController
基类构造函数需要context参数。因此,您应该将一个传递给基类的构造函数:
public HomeController(ServiceContext context) : base(context)
{ }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1955 次 |
| 最近记录: |