コード例 #1
0
        /// <summary>
        /// 过滤
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="source">数据源</param>
        /// <param name="criteria">查询条件</param>
        public static IQueryable <T> Filter <T>(this IQueryable <T> source, ICriteria criteria) where T : class, IAggregateRoot
        {
            if (criteria == null)
            {
                return(source);
            }
            var predicate = criteria.GetPredicate();

            if (predicate.IsEmpty())
            {
                return(source);
            }
            return(source.Where(predicate, criteria.GetValues()));
        }