【发布时间】:2018-04-05 20:03:27
【问题描述】:
我在控制器中使用这个查询从连接四个表中创建一个列表:
var ViewModel = (from APP in db1.application
where APP.APP_STATUS == "TO_DO"
join APPDEL in db1.app_delegation on APP.APP_UID equals APPDEL.APP_UID
join Con in db1.content on APPDEL.TAS_UID equals Con.CON_ID
join BPMNPRC in db1.bpmn_process on APPDEL.PRO_UID equals BPMNPRC.PRJ_UID
join RUSRE in db1.rbac_users on APP.APP_INIT_USER equals RUSRE.USR_UID
where APPDEL.TAS_UID == Con.CON_ID
&& Con.CON_CATEGORY == ("TAS_TITLE")
&& APP.APP_UID == APPDEL.APP_UID
&& APPDEL.DEL_THREAD_STATUS == "OPEN"
&& APPDEL.USR_UID == bpmUseid.BPMSID
select new ApplicationContentViewModel
{
creator = RUSRE,
app_delegation = APPDEL,
application = APP,
content = Con,
task = BPMNPRC,
}).AsEnumerable();
return View(ViewModel);
但我需要在APPDEL(app_delegation)中选择一条特殊记录,然后检索该记录的名称。
我在视图中使用此命令按字段选择DEL_INDEX:
@foreach (var item in Model)
{
<th>
@(item.app_delegation.DEL_INDEX == Model.Max(x => x.app_delegation.DEL_INDEX) - 1 ? item.creator.USR_LASTNAME : "");
</th>
}
其实我想选择DEL_INDEX - 1的最大值,取回它的姓氏。
很遗憾,我收到了这个错误:
System.Data.Entity.Core.EntityCommandExecutionException:: '执行命令定义时出错。有关详细信息,请参阅内部异常。'
内部异常:
MySqlException: 已经有一个打开的 DataReader 与此 Connection 关联,必须先关闭
我该如何处理这个错误?
【问题讨论】:
标签: mysql asp.net-mvc error-handling datareader