MVC 5 EF 6.1.3 System.NullReferenceException
本文关键字:System NullReferenceException EF MVC | 更新日期: 2023-09-27 18:11:13
我正在使用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级之前一切正常!我理解这个错误发生,如果表键是空的,我不明白的是为什么它直接从控制器工作,而不是从服务!
堆栈跟踪在WebUI.Controllers.CourseController。Index(String searchKW, Boolean searchAsSingleKW) in H:'D_learning'Website 2015'Websitel -Sep_4'HNCLPortal' web 'Controllers'CourseController.cs:line 153@ lambda_method(Closure, ControllerBase, Object[])在System.Web.Mvc.ActionMethodDispatcher。执行(ControllerBase controller, Object[] parameters)在System.Web.Mvc.ReflectedActionDescriptor。执行(ControllerContext, ControllerContext,字典' 2
)
看起来_courseSvc
是空的。堆栈跟踪显示您甚至没有调用EF.