asp.net-mvc – 实体框架:已经有一个与此命令关联的开放DataReader,必须先关闭它
发布时间:2020-05-24 12:13:51 所属栏目:asp.Net 来源:互联网
导读:这个问题与 this有关: 我的存储库方法有这个代码: public IEnumerableApplicationPositionHistory GetApplicationPositionHistories(int applicantId, int positionId) { return context.ApplicationsPositionHis
|
这个问题与 this有关: 我的存储库方法有这个代码: 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的第一行 解决方法快速解决方案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).ToList() ;
}
如果你想知道,为什么要修复你的问题,请阅读LINQ和deffered执行的工作原理.简而言之 – 如果你不通过ToList“枚举”查询来“强制”执行select,那么它实际上执行得太晚了 – 在视图中.这会导致其他想要使用相同连接的查询出现问题. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – MVC 4 Mocking HttpContext – 如何模拟DisplayMod
- asp.net-mvc-4 – 如何在jQUERY中传递Id
- AspNet Core在内存中使用,用于在IIS中运行时进行数据保护
- asp.net – 获取当前以aspnet mvc成员身份登录的userID
- asp.net – 日历自定义验证器
- asp.net-mvc – 用VB.net 2008开始ASP.NET MVC
- asp.net-mvc – TryUpdateModel的实例,ASP .NET MVC 3
- asp.net-mvc – MVC5注销链接从不同区域失败
- asp.net – 如何查看Chrome开发者工具中发布到表单的数据大
- .net – 在IIS中部署.PDB文件 任何好处?
推荐文章
站长推荐
热点阅读
