C# 有没有办法找到在同一DbContext上运行的导致错误的任务?
我在EF Core中遇到了一个错误,其中我的一些调用使用了相同的dbContext,并且得到了一个类似于“多个任务在同一dbContext上并发运行时出错”的错误,但是由于代码库的大小,我很难判断代码的哪些部分导致了此错误。有没有一个好的方法来调试这种类型的错误?我试着寻找没有等待的代码,但是没有用。非常感谢您的帮助。这就是为什么EF提供了C# 有没有办法找到在同一DbContext上运行的导致错误的任务?,c#,entity-framework,.net-core,C#,Entity Framework,.net Core,我在EF Core中遇到了一个错误,其中我的一些调用使用了相同的dbContext,并且得到了一个类似于“多个任务在同一dbContext上并发运行时出错”的错误,但是由于代码库的大小,我很难判断代码的哪些部分导致了此错误。有没有一个好的方法来调试这种类型的错误?我试着寻找没有等待的代码,但是没有用。非常感谢您的帮助。这就是为什么EF提供了asyncAPI,它可以同步调用,这样调用就不会在需要的时候运行。只需将每个非async调用替换为async版本,您的问题就会消失 你具体问题的答案是“全部”
async
API,它可以同步调用,这样调用就不会在需要的时候运行。只需将每个非async
调用替换为async
版本,您的问题就会消失
你具体问题的答案是“全部”
有没有一个好的方法来调试这种类型的错误
我不知道有什么好办法,不
我试着寻找没有等待的代码,但是没有用
这种错误通常由以下三种原因之一引起:
- 未等待的异步代码
- DbContext实例的作用域不正确,因此依赖项注入系统最终会在您不期望的情况下共享实例
- 执行异步并发的代码,例如,
Task.whalll
,当每个并发任务共享相同的DbContext时