我正在使用SQL Server。我從清單中得到的表是空的。使用存儲庫和服務。 在我的控制器:MVC 5 EF 6.1.3 System.NullReferenceException
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(字符串searchKW,布爾searchAsSingleKW)在H:\ D_learning \網站2015年\ Websitel -Sep_4 \ HNCLPortal \ WebUI中\ \控制器CourseController.cs: (控制器基礎控件,對象[]) at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller,Object [] parameters) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext,IDictionary `2
什麼行引發異常?你確定DbContext實例在數據庫調用之前沒有被處置嗎? –
顯示堆棧跟蹤 – Pawel
是不是'_courseSvc'爲空?堆棧跟蹤甚至沒有得到EF ... – Pawel