Пример #1
0
        protected IQueryable <TDataModel> QuerySearch(
            IQueryable <TDataModel> origin,
            IDataFilter <TDataModel> filter,
            IDataIncludes includes)
        {
            Checker.NotNullArgument(origin, nameof(origin));
            Checker.NotNullArgument(filter, nameof(filter));

            var filterExpressions = filter.GetExpressions();

            Checker.NotNullObject(filterExpressions, $"filter.{nameof(filter.GetExpressions)}()");

            var query = filterExpressions.Aggregate(origin, (q, w) => q.Where(w));

            return(TryApplyIncludes(query, includes));
        }