Include
нельзя использовать таким образом:
.Include(x => propertiesToInclude.Select(currentProperty => currentProperty)
Вам нужен эквивалент вызова Include
для каждого выражения списка:
.Include(x => x.Property1)
.Include(x => x.Property2)
...
.Include(x => x.PropertyN)
, который можетбыть достигнуто с помощью кода, подобного следующему:
var query = customContext.Set<TEntity>().AsQueryable();
foreach (var property in propertiesToInclude)
query = query.Include(property);
return query.Where(currentExpression).ToList();
или с помощью метода Aggregate
:
return propertiesToInclude
.Aggregate(customContext.Set<TEntity>().AsQueryable(), (q, p) => q.Include(p))
.Where(currentExpression).ToList();