Есть ли способ узнать, какие задачи выполняются в одном и том же DbContext, вызывая ошибки? - PullRequest
2 голосов
/ 05 мая 2020
• 1000 Мне сложно сказать, какие части кода вызывают эту ошибку. Есть ли хороший способ отладить этот тип ошибки? Я пытался найти код, которого не ждали, но безуспешно. Любая помощь приветствуется.

Ответы [ 2 ]

2 голосов
/ 05 мая 2020

Есть ли хороший способ отладить этот тип ошибки?

Я не знаю простого решения, нет.

I ' Мы пытались найти код, который не ожидался, но безрезультатно.

Этот вид ошибки обычно вызывается одной из трех причин: не ожидается.

Имеется неправильная область видимости для экземпляров DbContext, так что система внедрения зависимостей заканчивает совместное использование экземпляров, когда вы этого не ожидаете. Код, выполняющий асинхронный параллелизм, например, Task.WhenAll , когда каждая параллельная задача использует один и тот же DbContext.
0 голосов
/ 05 мая 2020

Вот почему EF предоставляет async API, он синхронизирует вызовы, поэтому они не запускаются одновременно с необходимостью. Просто замените каждый вызов, отличный от async, версией async, и ваша проблема go исчезнет.

Ответ на ваш конкретный c вопрос: «все они».

...