【问题标题】:New transaction is not allowed because there are other threads running in the session - mvc不允许新事务,因为会话中还有其他线程在运行 - mvc
【发布时间】:2016-12-01 10:44:21
【问题描述】:

我只是使用带有 SP 的 EF 执行插入和读取操作。我有两个 SP,一个用于读取,另一个用于插入。当我一一执行此操作时,我在第二个 SP 上收到此错误

不允许新事务,因为会话中还有其他线程在运行。

代码

var students = db.GetStudentByID(1);

Student_Mast model = new Student_Mast();
model.First_Name = "John";
model.Last_Name = "Abraham";
model.Roll_No = 2;
db.Student_Mast.Add(model);
db.SaveChanges();

我查看了很多帖子,但都提到了 foreach 循环。

【问题讨论】:

    标签: multithreading asp.net-mvc-4 model-view-controller


    【解决方案1】:

    students 变量不是对象的集合,它是一个可以返回对象的枚举器。使用枚举器时,源必须保持打开状态。

    var students = db.GetStudentByID(1).ToList();
    

    请参阅此链接以获取简介。 go here

    【讨论】:

      猜你喜欢
      • 2018-05-20
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 2017-03-27
      • 2012-09-07
      • 2021-08-20
      • 2012-04-23
      • 2017-06-26
      相关资源
      最近更新 更多