У меня есть эта установка Moq:
_mockContext.Setup(x => x.CarSections).Returns(new List<CarSection> { _carSection }.ToDbSet());
Которая в основном присваивает List сущности DbContext.CarSections.
Один из методов - asyn c метод. Что-то вроде:
public async Task<CarSection> GetSectionAsync(int sectionId)
{
return await _context
.CarSections
.FirstOrDefaultAsync(s => s.CarSectionId == sectionId && s.StatusCode == 4);
}
Когда он проходит через этот метод, я получаю сообщение об ошибке:
Поставщик источника IQueryable
не реализует IDbAsyncQueryProvider
. Только провайдеры, реализующие IDbAsyncQueryProvider
, могут использоваться для асинхронных операций Entity Framework.
Я считаю, что это из-за .ToDbSet (). Уже пробовал с Task.FromResult(new List<CarSection>{ _carSection }
, но .Returns ожидает "DbSet", а не "Task".
Есть идеи, как это обойти?