gpt4 book ai didi

c# - 不允许新事务,因为 session 中还有其他线程在运行。 Entity Framework

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:03 25 4
gpt4 key购买 nike

我有这个简单的代码:

foreach(var myvar in _sdb.Vars)
{
myvar.Area= AreaCheck(myvar);

_sdb.Entry(myvar).State = System.Data.Entity.EntityState.Modified;
_sdb.SaveChanges();
}

当我运行这段代码时,我得到了这个异常:

New transaction is not allowed because there are other threads running in the session.

我用谷歌搜索了这个问题,其中一个答案告诉我更改这一行:

foreach(var myvar in _sdb.Vars)

到这一行:

foreach(var myvar in _sdb.Vars.ToList())

但是当我这样做的时候,代码根本不起作用。我怎样才能使这项工作?谢谢。

最佳答案

像下面这样迭代后保存

using (var _sdb = new MyContext())
{
foreach (var myvar in _sdb.Vars)
{
// Change myvar
}
//save at the end
_sdb.SaveChanges();
}

关于c# - 不允许新事务,因为 session 中还有其他线程在运行。 Entity Framework ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40582361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com