【发布时间】:2020-05-06 03:31:29
【问题描述】:
我在使用 EF Core 时遇到了一个错误,其中我的一些调用使用相同的 dbContext,并且收到一个错误,指出“多个任务在同一 DbContext 上同时运行时出错”,但由于代码库的大小我很难说出代码的哪些部分导致了这个错误。有没有调试此类错误的好方法?我尝试寻找未等待的代码,但无济于事。非常感谢任何帮助。
【问题讨论】:
标签: c# entity-framework .net-core
我在使用 EF Core 时遇到了一个错误,其中我的一些调用使用相同的 dbContext,并且收到一个错误,指出“多个任务在同一 DbContext 上同时运行时出错”,但由于代码库的大小我很难说出代码的哪些部分导致了这个错误。有没有调试此类错误的好方法?我尝试寻找未等待的代码,但无济于事。非常感谢任何帮助。
【问题讨论】:
标签: c# entity-framework .net-core
有没有调试此类错误的好方法?
我不知道有什么简单的解决方法,不。
我已尝试寻找未等待的代码,但无济于事。
这种错误通常是由以下三种情况之一引起的:
Task.WhenAll。【讨论】:
这就是 EF 提供 async API 的原因,它会同步调用,因此它们不会根据需要同时运行。只需将每个非async 调用替换为async 版本,您的问题就会消失。
您的具体问题的答案是“全部”。
【讨论】: