/// <summary> /// Where条件过滤--扩展 /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <param name="source">数据源</param> /// <param name="criteria">查询条件</param> /// <returns></returns> public static IQueryable <T> Filter <T>(this IQueryable <T> source, ICriteria <T> criteria) where T : class, IAggregateRoot { if (criteria == null) { return(source); } var predicate = criteria.GetPredicate(); if (predicate == null) { return(source); } return(source.Where(predicate)); }
/// <summary> /// 添加查询条件 /// </summary> /// <typeparam name="TEntity">实体类型</typeparam> /// <param name="source">数据源</param> /// <param name="criteria">查询条件对象</param> public static IQueryable <TEntity> Where <TEntity>(this IQueryable <TEntity> source, ICriteria <TEntity> criteria) where TEntity : class { if (source == null) { throw new ArgumentNullException(nameof(source)); } if (criteria == null) { throw new ArgumentNullException(nameof(criteria)); } var predicate = criteria.GetPredicate(); if (predicate == null) { return(source); } return(source.Where(predicate)); }
/// <summary> /// 添加查询条件 /// </summary> /// <param name="criteria">查询条件</param> /// <returns></returns> public IQuery <TEntity, TKey> Filter(ICriteria <TEntity> criteria) { And(criteria.GetPredicate()); return(this); }