QueryableExtensions.cs 873 B

12345678910111213141516171819202122232425
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Linq.Expressions;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace Ant.Core.SqlServer
  8. {
  9. public static class QueryableExtensions
  10. {
  11. /// <summary>
  12. /// 根据第三方条件是否为真来决定是否执行指定条件的查询
  13. /// </summary>
  14. /// <param name="source"> 要查询的源 </param>
  15. /// <param name="predicate"> 查询条件 </param>
  16. /// <param name="condition"> 第三方条件 </param>
  17. /// <typeparam name="T"> 动态类型 </typeparam>
  18. /// <returns> 查询的结果 </returns>
  19. public static IQueryable<T> WhereIf<T>(this IQueryable<T> source, bool condition, Expression<Func<T, bool>> predicate)
  20. {
  21. return condition ? source.Where(predicate) : source;
  22. }
  23. }
  24. }