gpt4 book ai didi

c# - 在 db.database.BeginTransaction() 范围下添加时,Entity FrameWork Core 不响应 where() 查询 -Exception(请求超时)

转载 作者:行者123 更新时间:2023-11-30 18:12:02 26 4
gpt4 key购买 nike

我创建了通用添加方法,该方法在给定 ID 的数据库中进行搜索,然后我对表进行了更改,因此我将其保存到数据库中,但是当我在事务范围内添加它时,它不起作用。抛出的请求超时异常。它适用于 .net 框架但不适用于 .net 核心。我尝试了 Mock<> 但它确实给我一个平台不支持的错误。

   using (Y db = new Y())
{
using (var transaction = db.Database.BeginTransaction())
{
db.Table.Add(new Table());
db.SaveChanges();
public static void add<Y>(Func<T, bool> condition)
{
tableobject = Db.Set<Y>().where(condition).FirstOrDefault();
Db.Set<Y>().Add(tableobject);
Db.SaveChanges();
}
Transaction.Commit();
}
}

最佳答案

为了表示真实情况,我对问题做了一些改动。我找到了解决办法。这是一种采用参数并创建新实例 MyDbContext 的方法。我在事务下调用了此方法,如果您使用 .net 核心,则无法创建两个 dbcontext 实例。您只能使用一个 dbcontext。然后我将我的 Dbcontext 类传递给方法,问题就解决了。

关于c# - 在 db.database.BeginTransaction() 范围下添加时,Entity FrameWork Core 不响应 where() 查询 -Exception(请求超时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56155595/

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