不允许启动新事务
2014-07-03 10:19
127 查看
<pre name="code" class="csharp">public bool Deleteall() { var records = GetAllRecords(); foreach (var item in records) { _quereyRecordRepository.DeleteEntity(item); } return false; } public void DeleteEntity(T entity) { _quereyRecordRepository.Remove(entity); _quereyRecordRepository.SaveChanges(); }
问题出在循环时的
_context.SaveChanges()
方法上。
循环时 records还在查询中,调用SaveChanges(); 便会抛异常:不允许启动新事务,因为其他线程正在该会话中运行。
改动
public bool Deleteall() { var records = GetAllRecords(); foreach (var item in records) { _quereyRecordRepository.DeleteEntity(item); } _quereyRecordRepository.SaveChanges(); return flase; } public void DeleteEntity(T entity) { _quereyRecordRepository.Remove(entity);}
相关文章推荐
- asp.net MVC + linq to entity报"不允许启动新事务,因为有其他线程正在该会话中运行."错误解决方法
- entity异常 不允许启动新事务,因为有其他线程正在该会话中运行。
- EF 不允许启动新事务,因为有其他线程正在该会话中运行。
- 不允许启动新事务,因为有其他线程正在该会话中运行(ef并发错误处理之一)
- 不允许启动新事务,因为有其他线程正在该会话中运行。
- MVC3"不允许启动新事务,因为有其他线程正在该会话中运行"错误解决方法
- 此上下文中不允许异步操作。启动异步操作的页必须将 Async 属性设置为 true,并且异步操作只能在 PreRenderComplete 事件之前的页上启动。
- ubuntu下允许root用户ssh远程登录及Linux下服务的启动
- Hive学习之HiveServer2服务端配置与启动,允许远程连接
- sqlserver提示“在流水模式下,事务无法启动”的解决办法
- 解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案
- 无法启动MS DTC 事务管理器--解决方案
- 无法执行该操作,因为链接服务器 "*****" 的 OLE DB 访问接口 "SQLNCLI " 无法启动分布式事务。
- (转载)使用ADOConnet.BeginTrans后,出现错误提示:无法在此会话中启动更多的事务?
- 无法执行该操作,因为链接服务器 "......." 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。
- 如何让同台机器 只能允许一个应用启动(加入用户友好处理)
- Hibernate 事务未正常启动????
- PRB:在手工事务模式下无法启动克隆的连接[注意]
- PRB:在手工事务模式下无法启动克隆的连接[注意]
- Android Developers:允许其它应用程序启动你的Activity