关于Entity Framework 4中保存时抛出"其它线程在运行,无法新建事务"的问题

来源:互联网 发布:python入门 知乎 编辑:程序博客网 时间:2024/06/10 02:58

抛出的异常信息为"New transaction is not allowed because there are other threads running in the session "

可能出现在的情况:

1、在循环中中没有将对象完全读入内存,每次只读取一行,在循环体内执行context.SaveChanges()时抛出异常

       解决方法:将objectQuery或objectResut转换为List则可,或者在所在修改操作完成后,在循环体后面执行保存。

2、将ObjectQuery直接绑定到数据库控件后,在修改对象后,执行SaveChanges()抛出异常

解决方法: ObjectResult <Feature> result= _FeatureQuery.Execute(MergeOption.OverwriteChanges);
                     bindingChrSource.DataSource = result.ToList();

原创粉丝点击