У меня есть приложение. Я пытаюсь перенести некоторые части из .NET 4.x на .NET Core. Я создал контекст в моем приложении .NET Core. Я создал контекст БД через scaffold-dbcontext. Я могу выполнить основной запрос (ура). Жизнь хороша. Теперь я хочу добавить несколько асинхронных запросов. Я получаю следующую ошибку:
System.InvalidOperationException: 'Поставщик для исходного IQueryable не реализует IDbAsyncQueryProvider. Только поставщики, которые реализуют IDbAsyncQueryProvider, могут использоваться для асинхронных операций Entity Framework. Подробнее см. http://go.microsoft.com/fwlink/?LinkId=287068.'
Код:
var ctx = new GolfGameContext();
var userId = await (from u in ctx.AspNetUsers where u.Token == UserToken select u.Id).SingleAsync();
return userId;
Эта ошибка кажется странной. Я создал несколько приложений .NET Core 2.x с нуля, и все, кажется, работает правильно. Я могу делать асинхронные запросы с ними просто отлично. Когда я смотрю на ссылку с ошибкой, я получаю информацию о EF 6.x. Я предполагаю, что есть нечто, что scaffold-dbcontext помещает в результирующие модели, которые вызывают эту проблему. Я также предполагаю, что код, который я создал в Core 2.x, не содержит тех же ограничений. Я на правильном пути? Нужно ли что-то менять в моем контексте / моделях, чтобы асинхронность работала правильно? Все мысли приветствуются.
ТИА,
Уолли