我正在使用SQL Server。我从列表中获取的表是空的。使用存储库和服务。 在我的控制器中:
var temp = _courseSvc.ListCourses();
存储库:
public IQueryable<Course> ListCourses()
{
return _dbContext.Courses;
}
服务:
public IQueryable<Course> ListCourses()
{
return _courseRepository.ListCourses();
}
使用var temp = _courseSvc.ListCourses();
对象引用未设置为对象的实例。
但是如果将其添加到控制器:
public IQueryable<Course> ListCourses()
{
return db.Courses;
}
并从ActionResult
var x = ListCourses();
我没有收到错误。在将EF从5升级到6之前,一切正常! 我理解如果表键为空,会发生这种错误,我不明白为什么它直接从控制器起作用而不是来自服务!
堆栈跟踪
位于H:\ D_learning \ Website 2015 \ Websitel -Sep_4 \ HNCLPortal \ WebUI \ Controllers \ CourseController.cs中的WebUI.Controllers.CourseController.Index(String searchKW,Boolean searchAsSingleKW):第153行 在lambda_method(Closure,ControllerBase,Object []) 在System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase控制器,Object []参数) 在System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext,IDictionary`2
答案 0 :(得分:0)
看起来_courseSvc
为空。堆栈跟踪显示您甚至无法拨打EF。