Пример #1
0
        public static IQueryable <T> Search <T>(this IQueryable <T> items, string searchText)
        {
            if (items == null)
            {
                throw new ArgumentNullException(nameof(items));
            }

            if (string.IsNullOrWhiteSpace(searchText))
            {
                return(items);
            }

            // parse searchText
            var searchExpression = SearchExpression.Create(SearchConfiguration.CurrentConfig, searchText)
                                   .Decompose();


            return(items.Where(searchExpression.ToWhereClause <T>(Expression.Parameter(typeof(T)))));
        }