Есть ли способ укоротить этот код
Expression<Func<MyType, bool>> a => t => ...;
Expression<Func<MyType, bool>> b => t => ...;
Expression<Func<MyType, bool>> c => t => ...;
await myIQueryableOfMyType
.Where(a)
.Where(b)
.Where(c)
.ToArrayAsync()
таким образом, чтобы у меня был один Experssion с предложением Single Where.Моя цель - заменить выражения «a», «b», «c» на переменный набор условий.
Я попытался объединить функцию и установить ее в новом лямбда-выражении
Expression<Func<MyType, bool>>[] predicates = ...
Func<MyType, bool> func = t => predicates == null || predicates.Aggregate(true, (prev, current) => prev && current.Compile()(t));
но это не работает для коллекций IQueryable Entity Framework