Я пишу небольшой метод-оболочку вокруг EF Core DbSet
. У меня есть следующий метод:
public Task<IList<TEntity>> GetAsync(Func<IQueryable<TEntity>, IQueryable<TEntity>> getFunction)
{
if (getFunction == null)
{
Task.FromResult(new List<TEntity>());
}
return getFunction(_dbSet).AsNoTracking().ToListAsync();
}
Как видите, класс является общим, а _dbSet является экземпляром конкретного DbSet
из контекста. Однако для вопроса это не имеет большого значения.
Для кода я получаю следующую ошибку:
[CS0029] Невозможно неявно преобразовать тип «System.Threading.Tasks.Task>» в «System.Threading.Tasks.Task>».
Если я изменю возвращаемое значение на Task<List<TEntity>>
, ошибки не будет.
Кто-нибудь знает, почему он не может его преобразовать? Спасибо!