MVC3"不允许启动新事务,因为有其他线程正在该会话中运行"错误解决方法-阿里云开发者社区

开发者社区> 啊里上海> 正文

MVC3"不允许启动新事务,因为有其他线程正在该会话中运行"错误解决方法

简介: 出错代码段: public void UPdateStockForAudit(string ordercode) { var ditems=_db.Orderdetails.
+关注继续查看

出错代码段:

 public void UPdateStockForAudit(string ordercode)
        {
            var ditems=_db.Orderdetails.Where(o=>o.OrderCode==ordercode);
            foreach (var item in ditems)
            {
                decimal inventory= item.PCS * item.Stock.TonPerPCS;
                UpdateStock(item.StockId, item.PCS,inventory);
            }
        }
        private void UpdateStock(int stockid,int selledpcs,decimal inventory)
        {
            var item=_db.Stocks.SingleOrDefault(s=>s.StockId==stockid);
            item.Selled=selledpcs;
            item.Inventory=inventory;  
_db.SaveChanges(); }

修正后的(关键点在于_db.SaveChanges()把它放在循环外面即可! ):

 public void UPdateStockForAudit(string ordercode)
        {
            var ditems=_db.Orderdetails.Where(o=>o.OrderCode==ordercode);
            foreach (var item in ditems)
            {
                decimal inventory= item.PCS * item.Stock.TonPerPCS;
                UpdateStock(item.StockId, item.PCS,inventory);
            }
            _db.SaveChanges();
        }
        private void UpdateStock(int stockid,int selledpcs,decimal inventory)
        {
            var item=_db.Stocks.SingleOrDefault(s=>s.StockId==stockid);
            item.Selled=selledpcs;
            item.Inventory=inventory;            
        }

不要怀疑事情是否会正常更新,系统很智能测试结果显示很正常!没有出错也没有数据错乱的问题!

学习交流群:364976091

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Redis 6.0 正式版终于发布了!除了多线程还有什么新功能?
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! Redis 6.0.1 于 2020 年 5 月 2 日正式发布了,如 Redis 作者 antirez 所说,这是迄今为止最“企业”化的版本,也是有史以来改动最大的一个 Redis 版本,同时也是参与开发人数最多的一个版本。
751 0
跨线程的安全更新控件
在你的工程中的扩展方法类中写下一个SafeCall方法: using System; using System.Windows.Forms; namespace WindowsFormsApplication1 { public static class Extensio...
684 0
hadoop 日常错误解决方法整理
<div style="font-family:'lucida Grande',Verdana,'Microsoft YaHei'; font-size:14px; line-height:23.8px"> hadoop 日常错误整理  </div> <div style="font-family:'lucida Grande',Verdana,'Microsoft YaHei'; f
6734 0
+关注
222
文章
5
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载