Example #1
0
        private IQueryable <TEntity> ApplyFilterRule <TEntity>(IQueryable <TEntity> queryable, IFilterRule filterRule)
        {
            var lambda = filterRule.GetExpression <TEntity>();

            MethodCallExpression result = Expression.Call(
                typeof(Queryable), "Where",
                new[]
            {
                queryable.ElementType
            },
                queryable.Expression,
                lambda);

            return(queryable.Provider.CreateQuery <TEntity>(result));
        }