我的项目是 C# .NET、MVC 5、EF6。我正在ObjectDisposedException
使用从数据库中获取的视图中的对象。我可能已经阅读了所有类似的问题,但.Include()
不起作用;我认为这个问题与延迟加载没有任何关系。
控制器方法:
public ActionResult Browse()
{
List<QuestionGroup> questionGroupsWithLinks = new List<QuestionGroup>();
using (CLASSContext context = new CLASSContext())
{
questionGroupsWithLinks = context.QuestionGroup.Include(qg => qg.Questions.Select(q => q.Answers))
.Where(qg => qg.QuestionGroupID == 128).ToList();
return View("Browse", questionGroupsWithLinks);
}
}
我试过让 using 语句不环绕视图,我试过questionGroupWithLinks
在不同的地方声明,我试过迭代questionGroupWithLinks
并分配它的一个属性,希望它能加载它(没有任何区别,因为问题只出在视图中。只要您在控制器方法中,它就会一直加载),我也尝试了其他方法。
视图(简化):
@model List<CLASSOnlineAssessments.Models.Assessments.QuestionGroup>
<div class="page-copy">
@if (Model != null)
{
foreach (QuestionGroup qg in Model)
{
//More code here; but it always fails before this point.
}
}
</div>
我尝试使用Model.First()
来访问问题组而不是foreach
,但这没有任何区别。
让我知道我是否可以澄清任何事情或发布更多信息。