using PoweredSoft.DynamicLinq.Fluent; using PoweredSoft.DynamicLinq.Helpers; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Text; using System.Threading.Tasks; namespace PoweredSoft.DynamicLinq.Extensions { public static class QueryableExtensions { public static IQueryable Where(this IQueryable query, string path, ConditionOperators conditionOperator, object value, QueryConvertStrategy convertStrategy = QueryConvertStrategy.ConvertConstantToComparedPropertyOrField) { query = query.Query(qb => qb.Compare(path, conditionOperator, value, convertStrategy: convertStrategy)); return query; } public static IQueryable Query (this IQueryable query, Action> callback) { var queryBuilder = new QueryBuilder(query); callback(queryBuilder); var ret = queryBuilder.Build(); return ret; } } }