【发布时间】:2017-09-22 16:43:04
【问题描述】:
我创建了两个项目:
Web 项目,包含所有视图模型/数据/控制器等。还有一个 Web Api 项目以允许表单捕获。
我只是想在 web Api 中捕获数据并将其保存到数据库中,以便前端可以访问它。
我在 Api 控制器中初始化 DBcontext 时遇到问题,需要帮助。
namespace ZebraCRM.API2.Controllers
{
[Route("api/[controller]")]
public class LeadsController : Controller
{
private readonly ApplicationDbContext _context;
public LeadController(ApplicationDbContext context)
{
_context = context;
}
// POST api/values
[HttpPost]
public void Post(Lead formData)
{
formData.DateCreated = DateTime.Now;
_context.Lead.Add(formData);
_context.SaveChanges();
}
}
上述想法取自主 web 项目中的控制器,但在这种情况下显然不是正确的方法。
调试输出如下
System.InvalidOperationException: Unable to resolve service for type 'ZebraCRM.Web.Data.ApplicationDbContext' while attempting to activate 'ZebraCRM.API2.Controllers.LeadsController'.
【问题讨论】:
-
好的,那么您是否在任何地方设置了依赖注入?如果没有,构造函数注入将不起作用。您只需手动分配字段值并消除构造函数参数。
-
没有设置依赖注入。你能举个例子吗?我还是有点困惑
-
有大量关于 DI 的在线教程和许多框架可供选择。
标签: c# asp.net entity-framework asp.net-web-api