Browse Source
Merge pull request #9332 from abpframework/liangshiwei/repository
Added RepositoryAsyncExtensions.AnyAsync() without predicate parameter
pull/9350/head
Halil İbrahim Kalkan
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with
35 additions and
0 deletions
-
framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryAsyncExtensions.cs
-
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/EfCoreAsyncQueryableProvider.cs
-
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/MongoDbAsyncQueryableProvider.cs
-
framework/src/Volo.Abp.Threading/Volo/Abp/Linq/AsyncQueryableExecuter.cs
-
framework/src/Volo.Abp.Threading/Volo/Abp/Linq/IAsyncQueryableExecuter.cs
-
framework/src/Volo.Abp.Threading/Volo/Abp/Linq/IAsyncQueryableProvider.cs
|
|
|
@ -26,6 +26,15 @@ namespace Volo.Abp.Domain.Repositories |
|
|
|
|
|
|
|
#region Any/All
|
|
|
|
|
|
|
|
public static async Task<bool> AnyAsync<T>( |
|
|
|
[NotNull] this IReadOnlyRepository<T> repository, |
|
|
|
CancellationToken cancellationToken = default) |
|
|
|
where T : class, IEntity |
|
|
|
{ |
|
|
|
var queryable = await repository.GetQueryableAsync(); |
|
|
|
return await repository.AsyncExecuter.AnyAsync(queryable, cancellationToken); |
|
|
|
} |
|
|
|
|
|
|
|
public static async Task<bool> AnyAsync<T>( |
|
|
|
[NotNull] this IReadOnlyRepository<T> repository, |
|
|
|
[NotNull] Expression<Func<T, bool>> predicate, |
|
|
|
|
|
|
|
@ -23,6 +23,11 @@ namespace Volo.Abp.EntityFrameworkCore |
|
|
|
return queryable.ContainsAsync(item, cancellationToken); |
|
|
|
} |
|
|
|
|
|
|
|
public Task<bool> AnyAsync<T>(IQueryable<T> queryable, CancellationToken cancellationToken = default) |
|
|
|
{ |
|
|
|
return queryable.AnyAsync(cancellationToken); |
|
|
|
} |
|
|
|
|
|
|
|
public Task<bool> AnyAsync<T>(IQueryable<T> queryable, Expression<Func<T, bool>> predicate, CancellationToken cancellationToken = default) |
|
|
|
{ |
|
|
|
return queryable.AnyAsync(predicate, cancellationToken); |
|
|
|
|
|
|
|
@ -29,6 +29,11 @@ namespace Volo.Abp.MongoDB |
|
|
|
return Task.FromResult(GetMongoQueryable(queryable).Contains(item)); |
|
|
|
} |
|
|
|
|
|
|
|
public Task<bool> AnyAsync<T>(IQueryable<T> queryable, CancellationToken cancellationToken = default) |
|
|
|
{ |
|
|
|
return GetMongoQueryable(queryable).AnyAsync(cancellationToken); |
|
|
|
} |
|
|
|
|
|
|
|
public Task<bool> AnyAsync<T>(IQueryable<T> queryable, Expression<Func<T, bool>> predicate, CancellationToken cancellationToken = default) |
|
|
|
{ |
|
|
|
return GetMongoQueryable(queryable).AnyAsync(predicate, cancellationToken); |
|
|
|
|
|
|
|
@ -30,6 +30,14 @@ namespace Volo.Abp.Linq |
|
|
|
: Task.FromResult(queryable.Contains(item)); |
|
|
|
} |
|
|
|
|
|
|
|
public Task<bool> AnyAsync<T>(IQueryable<T> queryable, CancellationToken cancellationToken = default) |
|
|
|
{ |
|
|
|
var provider = FindProvider(queryable); |
|
|
|
return provider != null |
|
|
|
? provider.AnyAsync(queryable, cancellationToken) |
|
|
|
: Task.FromResult(queryable.Any()); |
|
|
|
} |
|
|
|
|
|
|
|
public Task<bool> AnyAsync<T>(IQueryable<T> queryable, Expression<Func<T, bool>> predicate, CancellationToken cancellationToken = default) |
|
|
|
{ |
|
|
|
var provider = FindProvider(queryable); |
|
|
|
|
|
|
|
@ -21,6 +21,10 @@ namespace Volo.Abp.Linq |
|
|
|
|
|
|
|
#region Any/All
|
|
|
|
|
|
|
|
Task<bool> AnyAsync<T>( |
|
|
|
[NotNull] IQueryable<T> queryable, |
|
|
|
CancellationToken cancellationToken = default); |
|
|
|
|
|
|
|
Task<bool> AnyAsync<T>( |
|
|
|
[NotNull] IQueryable<T> queryable, |
|
|
|
[NotNull] Expression<Func<T, bool>> predicate, |
|
|
|
|
|
|
|
@ -23,6 +23,10 @@ namespace Volo.Abp.Linq |
|
|
|
|
|
|
|
#region Any/All
|
|
|
|
|
|
|
|
Task<bool> AnyAsync<T>( |
|
|
|
[NotNull] IQueryable<T> queryable, |
|
|
|
CancellationToken cancellationToken = default); |
|
|
|
|
|
|
|
Task<bool> AnyAsync<T>( |
|
|
|
[NotNull] IQueryable<T> queryable, |
|
|
|
[NotNull] Expression<Func<T, bool>> predicate, |
|
|
|
|