您的位置:首页 > 编程语言 > C#

不允许启动新事务

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);
        }


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  事务 异常 entity c# .net
相关文章推荐