这个问题是关系到this:实体框架:已经有与此命令相关联的打开的DataReader,必须先关闭
我的仓库方法有以下代码:
public IEnumerable<ApplicationPositionHistory> GetApplicationPositionHistories(int applicantId, int positionId)
{
return context.ApplicationsPositionHistory.Where(d => d.applicantPosition.ApplicantID == applicantId && d.applicantPosition.PositionID == positionId).Include(o => o.applicantPosition) ;
}
我的HTML有这代码:
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.applicantPosition.Applicant.name)
</td>
<td>
@Html.DisplayFor(modelItem => item.applicantPosition.Position.name)
</td>
完整的例外是:
已经有一个与此命令关联的打开DataReader,它必须先关闭。
正是在的HTML @ Html.DisplayFor(modelItem => item.applicantPosition.Applicant.name)
当我重新实现了两个相似的模型类以从使用TPH继承结构的模型基类继承时发生这种相同的错误,其中一个派生类存在一对一或一对一的关系,并且我正在使用该模型的控制器中的急切加载。据我所知,在这种情况下不支持急切的加载,因此在控制器中放弃此属性的'.Include(...)',并将'.ToList()'添加到剩下的''的末尾。包括(...)'语句似乎解决了问题 - 谢谢。 –