EFCore Вторая операция началась в этом контексте до завершения предыдущей операции - PullRequest
0 голосов
/ 21 июня 2019

Я получил эту ошибку, но я не могу определить реальную причину, поэтому я не могу ее исправить? «Ядро Entity Framework: вторая операция началась в этом контексте до завершения предыдущей операции»

Контекст

private readonly ApplicationDbContext _context;

public MyController(ApplicationDbContext context) 
{
    _context = context;
}

Ошибка возникает здесь "await _context.SaveChangesAsync ();", однако этот оператор выполняется только один раз.

        //Find user by Id
        var foundUser = await _context.Users.FindAsync(myUserId);

        //Populate myUserData here
         ....

        //If user not found, create the user
        if (foundUser == null)
        {
            _context.Users.Add(myUserData);
            await _context.SaveChangesAsync(); //<--------ERROR HERE!
        }

1 Ответ

0 голосов
/ 21 июня 2019

Вы пытаетесь изменить foundUser, но он не возвращается, потому что он асинхронный.

Более простой способ исправить это - использовать .Результат выглядит так:будет ждать результата предыдущего звонка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...