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

)

MVC 5 EF 6.1.3 System.NullReferenceException

看起来_courseSvc是空的。堆栈跟踪显示您甚至没有调用EF.