NullAsyncQueryableExecuter.cs 733 B

1234567891011121314151617181920212223242526
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Threading.Tasks;
  4. namespace Abp.Linq
  5. {
  6. public class NullAsyncQueryableExecuter : IAsyncQueryableExecuter
  7. {
  8. public static NullAsyncQueryableExecuter Instance { get; } = new NullAsyncQueryableExecuter();
  9. public Task<int> CountAsync<T>(IQueryable<T> queryable)
  10. {
  11. return Task.FromResult(queryable.Count());
  12. }
  13. public Task<List<T>> ToListAsync<T>(IQueryable<T> queryable)
  14. {
  15. return Task.FromResult(queryable.ToList());
  16. }
  17. public Task<T> FirstOrDefaultAsync<T>(IQueryable<T> queryable)
  18. {
  19. return Task.FromResult(queryable.FirstOrDefault());
  20. }
  21. }
  22. }