diff --git a/framework/src/Volo.Abp.Ddd.Application/Volo/Abp/Application/Services/AbstractKeyReadOnlyAppService.cs b/framework/src/Volo.Abp.Ddd.Application/Volo/Abp/Application/Services/AbstractKeyReadOnlyAppService.cs
index 54123bc843..528a8c67a1 100644
--- a/framework/src/Volo.Abp.Ddd.Application/Volo/Abp/Application/Services/AbstractKeyReadOnlyAppService.cs
+++ b/framework/src/Volo.Abp.Ddd.Application/Volo/Abp/Application/Services/AbstractKeyReadOnlyAppService.cs
@@ -153,19 +153,6 @@ namespace Volo.Abp.Application.Services
return query;
}
- ///
- /// This method should create based on given input.
- /// It should filter query if needed, but should not do sorting or paging.
- /// Sorting should be done in and paging should be done in
- /// methods.
- ///
- /// The input.
- [Obsolete("Override the CreateFilteredQueryAsync method instead.")]
- protected virtual IQueryable CreateFilteredQuery(TGetListInput input)
- {
- return ReadOnlyRepository;
- }
-
///
/// This method should create based on given input.
/// It should filter query if needed, but should not do sorting or paging.
@@ -175,17 +162,6 @@ namespace Volo.Abp.Application.Services
/// The input.
protected virtual async Task> CreateFilteredQueryAsync(TGetListInput input)
{
- /* If user has overridden the CreateFilteredQuery method,
- * we don't want to make breaking change in this point.
- */
-#pragma warning disable 618
- var query = CreateFilteredQuery(input);
-#pragma warning restore 618
- if (!ReferenceEquals(query, ReadOnlyRepository))
- {
- return query;
- }
-
return await ReadOnlyRepository.GetQueryableAsync();
}
diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/IReadOnlyRepository.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/IReadOnlyRepository.cs
index 7aeffdad12..bf0704f085 100644
--- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/IReadOnlyRepository.cs
+++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/IReadOnlyRepository.cs
@@ -10,7 +10,7 @@ using Volo.Abp.Linq;
namespace Volo.Abp.Domain.Repositories
{
- public interface IReadOnlyRepository : IQueryable, IReadOnlyBasicRepository
+ public interface IReadOnlyRepository: IReadOnlyBasicRepository
where TEntity : class, IEntity
{
IAsyncQueryableExecuter AsyncExecuter { get; }
@@ -26,7 +26,7 @@ namespace Volo.Abp.Domain.Repositories
Task> WithDetailsAsync(params Expression>[] propertySelectors); //TODO: CancellationToken
Task> GetQueryableAsync(); //TODO: CancellationToken
-
+
///
/// Gets a list of entities by the given .
///
diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs
index 0b32d54d45..da10901420 100644
--- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs
+++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Repositories/RepositoryBase.cs
@@ -1,6 +1,5 @@
using JetBrains.Annotations;
using System;
-using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
@@ -15,15 +14,6 @@ namespace Volo.Abp.Domain.Repositories
public abstract class RepositoryBase : BasicRepositoryBase, IRepository, IUnitOfWorkManagerAccessor
where TEntity : class, IEntity
{
- [Obsolete("This method will be removed in future versions.")]
- public virtual Type ElementType => GetQueryable().ElementType;
-
- [Obsolete("This method will be removed in future versions.")]
- public virtual Expression Expression => GetQueryable().Expression;
-
- [Obsolete("This method will be removed in future versions.")]
- public virtual IQueryProvider Provider => GetQueryable().Provider;
-
[Obsolete("Use WithDetailsAsync method.")]
public virtual IQueryable WithDetails()
{
@@ -46,18 +36,6 @@ namespace Volo.Abp.Domain.Repositories
return GetQueryableAsync();
}
- [Obsolete("This method will be removed in future versions.")]
- IEnumerator IEnumerable.GetEnumerator()
- {
- return GetEnumerator();
- }
-
- [Obsolete("This method will be removed in future versions.")]
- public IEnumerator GetEnumerator()
- {
- return GetQueryable().GetEnumerator();
- }
-
[Obsolete("Use GetQueryableAsync method.")]
protected abstract IQueryable GetQueryable();
diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Domain/Repositories/EntityFrameworkCore/EfCoreRepository.cs b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Domain/Repositories/EntityFrameworkCore/EfCoreRepository.cs
index c330beb281..fb32e5a21d 100644
--- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Domain/Repositories/EntityFrameworkCore/EfCoreRepository.cs
+++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/Domain/Repositories/EntityFrameworkCore/EfCoreRepository.cs
@@ -17,7 +17,7 @@ using Volo.Abp.MultiTenancy;
namespace Volo.Abp.Domain.Repositories.EntityFrameworkCore
{
- public class EfCoreRepository : RepositoryBase, IEfCoreRepository, IAsyncEnumerable
+ public class EfCoreRepository : RepositoryBase, IEfCoreRepository
where TDbContext : IEfCoreDbContext
where TEntity : class, IEntity
{
@@ -381,12 +381,6 @@ namespace Volo.Abp.Domain.Repositories.EntityFrameworkCore
return query;
}
- [Obsolete("This method will be deleted in future versions.")]
- public IAsyncEnumerator GetAsyncEnumerator(CancellationToken cancellationToken = default)
- {
- return DbSet.AsAsyncEnumerable().GetAsyncEnumerator(cancellationToken);
- }
-
protected virtual void CheckAndSetId(TEntity entity)
{
if (entity is IEntity entityWithGuidId)
diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs
index a40117e0ff..696e7846c5 100644
--- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs
+++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs
@@ -2,6 +2,7 @@ using JetBrains.Annotations;
using MongoDB.Driver;
using MongoDB.Driver.Linq;
using System;
+using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Dynamic.Core;
@@ -23,8 +24,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB
{
public class MongoDbRepository
: RepositoryBase,
- IMongoDbRepository,
- IMongoQueryable
+ IMongoDbRepository
where TMongoDbContext : IAbpMongoDbContext
where TEntity : class, IEntity
{
@@ -720,24 +720,6 @@ namespace Volo.Abp.Domain.Repositories.MongoDB
return aggregate;
}
-
- [Obsolete("This method will be removed in future versions.")]
- public QueryableExecutionModel GetExecutionModel()
- {
- return GetMongoQueryable().GetExecutionModel();
- }
-
- [Obsolete("This method will be removed in future versions.")]
- public IAsyncCursor ToCursor(CancellationToken cancellationToken = new CancellationToken())
- {
- return GetMongoQueryable().ToCursor(GetCancellationToken(cancellationToken));
- }
-
- [Obsolete("This method will be removed in future versions.")]
- public Task> ToCursorAsync(CancellationToken cancellationToken = new CancellationToken())
- {
- return GetMongoQueryable().ToCursorAsync(GetCancellationToken(cancellationToken));
- }
}
public class MongoDbRepository
diff --git a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/EfCoreAsyncQueryableProvider_Tests.cs b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/EfCoreAsyncQueryableProvider_Tests.cs
index 9a6c0817f2..93e0de6639 100644
--- a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/EfCoreAsyncQueryableProvider_Tests.cs
+++ b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/EfCoreAsyncQueryableProvider_Tests.cs
@@ -24,28 +24,31 @@ namespace Volo.Abp.EntityFrameworkCore
}
[Fact]
- public void Should_Accept_EfCore_Related_Queries()
+ public async Task Should_Accept_EfCore_Related_Queries()
{
- var query = _personRepository.Where(p => p.Age > 0);
-
- _efCoreAsyncQueryableProvider.CanExecute(query).ShouldBeTrue();
+ using ( _ = _unitOfWorkManager.Begin())
+ {
+ var query = (await _personRepository.GetQueryableAsync()).Where(p => p.Age > 0);
+
+ _efCoreAsyncQueryableProvider.CanExecute(query).ShouldBeTrue();
+ }
}
[Fact]
public void Should_Not_Accept_Other_Providers()
{
var query = new[] {1, 2, 3}.AsQueryable().Where(x => x > 0);
-
+
_efCoreAsyncQueryableProvider.CanExecute(query).ShouldBeFalse();
}
-
+
[Fact]
public async Task Should_Execute_Queries()
{
using (var uow = _unitOfWorkManager.Begin())
{
- var query = _personRepository.Where(p => p.Age > 0);
-
+ var query = (await _personRepository.GetQueryableAsync()).Where(p => p.Age > 0);
+
(await _efCoreAsyncQueryableProvider.CountAsync(query) > 0).ShouldBeTrue();
(await _efCoreAsyncQueryableProvider.FirstOrDefaultAsync(query)).ShouldNotBeNull();
(await _efCoreAsyncQueryableProvider.ToListAsync(query)).Count.ShouldBeGreaterThan(0);
@@ -54,4 +57,4 @@ namespace Volo.Abp.EntityFrameworkCore
}
}
}
-}
\ No newline at end of file
+}
diff --git a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Repositories/Repository_Basic_Tests.cs b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Repositories/Repository_Basic_Tests.cs
index 3d5d7b656b..ab3217b9f3 100644
--- a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Repositories/Repository_Basic_Tests.cs
+++ b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Repositories/Repository_Basic_Tests.cs
@@ -1,6 +1,7 @@
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Shouldly;
+using Volo.Abp.Domain.Repositories;
using Volo.Abp.TestApp.Testing;
using Xunit;
diff --git a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Repositories/Repository_Queryable_Tests.cs b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Repositories/Repository_Queryable_Tests.cs
index a5b8aa0577..8149cdbe32 100644
--- a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Repositories/Repository_Queryable_Tests.cs
+++ b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/Repositories/Repository_Queryable_Tests.cs
@@ -26,9 +26,9 @@ namespace Volo.Abp.EntityFrameworkCore.Repositories
[Fact]
public async Task GetBookList()
{
- await WithUnitOfWorkAsync(() =>
+ await WithUnitOfWorkAsync(async () =>
{
- _bookRepository.Any().ShouldBeTrue();
+ (await _bookRepository.AnyAsync()).ShouldBeTrue();
return Task.CompletedTask;
});
}
@@ -36,9 +36,9 @@ namespace Volo.Abp.EntityFrameworkCore.Repositories
[Fact]
public async Task GetPhoneInSecondDbContextList()
{
- await WithUnitOfWorkAsync(() =>
+ await WithUnitOfWorkAsync(async () =>
{
- _phoneInSecondDbContextRepository.Any().ShouldBeTrue();
+ (await _phoneInSecondDbContextRepository.AnyAsync()).ShouldBeTrue();
return Task.CompletedTask;
});
}
@@ -46,9 +46,9 @@ namespace Volo.Abp.EntityFrameworkCore.Repositories
[Fact]
public async Task EfCore_Include_Extension()
{
- await WithUnitOfWorkAsync(() =>
+ await WithUnitOfWorkAsync(async () =>
{
- var person = PersonRepository.Include(p => p.Phones).Single(p => p.Id == TestDataBuilder.UserDouglasId);
+ var person = await (await PersonRepository.GetDbSetAsync()).Include(p => p.Phones).SingleAsync(p => p.Id == TestDataBuilder.UserDouglasId);
person.Name.ShouldBe("Douglas");
person.Phones.Count.ShouldBe(2);
return Task.CompletedTask;
diff --git a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/TestApp/EntityFrameworkCore/CityRepository.cs b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/TestApp/EntityFrameworkCore/CityRepository.cs
index cd85cbcb5a..b3d1663edb 100644
--- a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/TestApp/EntityFrameworkCore/CityRepository.cs
+++ b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/TestApp/EntityFrameworkCore/CityRepository.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
+using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.TestApp.Domain;
diff --git a/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/MongoDbAsyncQueryableProvider_Tests.cs b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/MongoDbAsyncQueryableProvider_Tests.cs
index 22013d9b63..3daff7049c 100644
--- a/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/MongoDbAsyncQueryableProvider_Tests.cs
+++ b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/MongoDbAsyncQueryableProvider_Tests.cs
@@ -24,10 +24,10 @@ namespace Volo.Abp.MongoDB
}
[Fact]
- public void Should_Accept_MongoDb_Related_Queries()
+ public async Task Should_Accept_MongoDb_Related_Queries()
{
- var query = _personRepository.Where(p => p.Age > 0);
-
+ var query = (await _personRepository.GetQueryableAsync()).Where(p => p.Age > 0);
+
_mongoDbAsyncQueryableProvider.CanExecute(query).ShouldBeTrue();
}
@@ -35,17 +35,17 @@ namespace Volo.Abp.MongoDB
public void Should_Not_Accept_Other_Providers()
{
var query = new[] {1, 2, 3}.AsQueryable().Where(x => x > 0);
-
+
_mongoDbAsyncQueryableProvider.CanExecute(query).ShouldBeFalse();
}
-
+
[Fact]
public async Task Should_Execute_Queries()
{
using (var uow = _unitOfWorkManager.Begin())
{
- var query = _personRepository.Where(p => p.Age > 0).OrderBy(p => p.Name);
-
+ var query = (await _personRepository.GetQueryableAsync()).Where(p => p.Age > 0).OrderBy(p => p.Name);
+
(await _mongoDbAsyncQueryableProvider.CountAsync(query) > 0).ShouldBeTrue();
(await _mongoDbAsyncQueryableProvider.FirstOrDefaultAsync(query)).ShouldNotBeNull();
(await _mongoDbAsyncQueryableProvider.ToListAsync(query)).Count.ShouldBeGreaterThan(0);
@@ -54,4 +54,4 @@ namespace Volo.Abp.MongoDB
}
}
}
-}
\ No newline at end of file
+}
diff --git a/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Repositories/MongoDbAsyncQueryableProvider_Tests.cs b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Repositories/MongoDbAsyncQueryableProvider_Tests.cs
index 5335aa11be..48f74ab3a2 100644
--- a/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Repositories/MongoDbAsyncQueryableProvider_Tests.cs
+++ b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Repositories/MongoDbAsyncQueryableProvider_Tests.cs
@@ -27,7 +27,7 @@ namespace Volo.Abp.MongoDB.Repositories
[Fact]
public async Task CanExecuteAsync()
{
- _mongoDbAsyncQueryableProvider.CanExecute(_personRepository).ShouldBeTrue();
+ _mongoDbAsyncQueryableProvider.CanExecute(await _personRepository.GetQueryableAsync()).ShouldBeTrue();
_mongoDbAsyncQueryableProvider.CanExecute(await _personRepository.WithDetailsAsync()).ShouldBeTrue();
}
@@ -36,7 +36,7 @@ namespace Volo.Abp.MongoDB.Repositories
{
using (var uow = _unitOfWorkManager.Begin())
{
- (await _mongoDbAsyncQueryableProvider.FirstOrDefaultAsync(_personRepository.Where(p => p.Name == "Douglas"))).ShouldNotBeNull();
+ (await _mongoDbAsyncQueryableProvider.FirstOrDefaultAsync((await _personRepository.GetQueryableAsync()).Where(p => p.Name == "Douglas"))).ShouldNotBeNull();
await uow.CompleteAsync();
}
}
@@ -46,7 +46,7 @@ namespace Volo.Abp.MongoDB.Repositories
{
using (var uow = _unitOfWorkManager.Begin())
{
- (await _mongoDbAsyncQueryableProvider.AnyAsync(_personRepository, p => p.Name == "Douglas")).ShouldBeTrue();
+ (await _mongoDbAsyncQueryableProvider.AnyAsync(await _personRepository.GetQueryableAsync(), p => p.Name == "Douglas")).ShouldBeTrue();
await uow.CompleteAsync();
}
}
@@ -56,7 +56,7 @@ namespace Volo.Abp.MongoDB.Repositories
{
using (var uow = _unitOfWorkManager.Begin())
{
- (await _mongoDbAsyncQueryableProvider.CountAsync(_personRepository.Where(p => p.Name == "Douglas"))).ShouldBeGreaterThan(0);
+ (await _mongoDbAsyncQueryableProvider.CountAsync((await _personRepository.GetQueryableAsync()).Where(p => p.Name == "Douglas"))).ShouldBeGreaterThan(0);
await uow.CompleteAsync();
}
}
@@ -66,7 +66,7 @@ namespace Volo.Abp.MongoDB.Repositories
{
using (var uow = _unitOfWorkManager.Begin())
{
- (await _mongoDbAsyncQueryableProvider.LongCountAsync(_personRepository)).ShouldBeGreaterThan(0);
+ (await _mongoDbAsyncQueryableProvider.LongCountAsync(await _personRepository.GetQueryableAsync())).ShouldBeGreaterThan(0);
await uow.CompleteAsync();
}
}
diff --git a/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Repositories/Repository_Basic_Tests.cs b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Repositories/Repository_Basic_Tests.cs
index 09b1551e3d..0be9b43db0 100644
--- a/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Repositories/Repository_Basic_Tests.cs
+++ b/framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Repositories/Repository_Basic_Tests.cs
@@ -14,21 +14,21 @@ namespace Volo.Abp.MongoDB.Repositories
public class Repository_Basic_Tests : Repository_Basic_Tests
{
[Fact]
- public void ToMongoQueryable_Test()
+ public async Task ToMongoQueryable_Test()
{
- ((IMongoQueryable) PersonRepository).ShouldNotBeNull();
- PersonRepository.As>().ShouldNotBeNull();
- ((IMongoQueryable) PersonRepository.Where(p => p.Name == "Douglas")).ShouldNotBeNull();
- PersonRepository.Where(p => p.Name == "Douglas").As>().ShouldNotBeNull();
+ (await PersonRepository.GetQueryableAsync()).ShouldNotBeNull();
+ (await PersonRepository.GetQueryableAsync()).As>().ShouldNotBeNull();
+ ((IMongoQueryable)(await PersonRepository.GetQueryableAsync()).Where(p => p.Name == "Douglas")).ShouldNotBeNull();
+ (await PersonRepository.GetQueryableAsync()).Where(p => p.Name == "Douglas").As>().ShouldNotBeNull();
}
[Fact]
public async Task Linq_Queries()
{
- await WithUnitOfWorkAsync(() =>
+ await WithUnitOfWorkAsync(async () =>
{
- PersonRepository.FirstOrDefault(p => p.Name == "Douglas").ShouldNotBeNull();
- PersonRepository.Count().ShouldBeGreaterThan(0);
+ (await PersonRepository.GetQueryableAsync()).FirstOrDefault(p => p.Name == "Douglas").ShouldNotBeNull();
+ (await PersonRepository.GetQueryableAsync()).Count().ShouldBeGreaterThan(0);
return Task.CompletedTask;
});
}
diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/DistrictAppService.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/DistrictAppService.cs
index f7e7fde5e2..645d413692 100644
--- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/DistrictAppService.cs
+++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/DistrictAppService.cs
@@ -10,7 +10,7 @@ namespace Volo.Abp.TestApp.Application
//This is especially used to test the AbstractKeyCrudAppService
public class DistrictAppService : AbstractKeyCrudAppService
{
- public DistrictAppService(IRepository repository)
+ public DistrictAppService(IRepository repository)
: base(repository)
{
}
@@ -23,7 +23,7 @@ namespace Volo.Abp.TestApp.Application
protected override async Task GetEntityByIdAsync(DistrictKey id)
{
return await AsyncExecuter.FirstOrDefaultAsync(
- Repository.Where(d => d.CityId == id.CityId && d.Name == id.Name)
+ (await Repository.GetQueryableAsync()).Where(d => d.CityId == id.CityId && d.Name == id.Name)
);
}
}
diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/DomainEvents_Tests.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/DomainEvents_Tests.cs
index 04d0dda3c4..27154ba8de 100644
--- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/DomainEvents_Tests.cs
+++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/DomainEvents_Tests.cs
@@ -13,7 +13,7 @@ using Xunit;
namespace Volo.Abp.TestApp.Testing
{
- public abstract class DomainEvents_Tests : TestAppTestBase
+ public abstract class DomainEvents_Tests : TestAppTestBase
where TStartupModule : IAbpModule
{
protected readonly IRepository PersonRepository;
@@ -35,7 +35,7 @@ namespace Volo.Abp.TestApp.Testing
bool douglesNameChangeHandled = false;
bool customEventHandled = false;
bool customEvent2Handled = false;
-
+
LocalEventBus.Subscribe>(data =>
{
data.Entity.Name.ShouldBe("TestPerson1");
@@ -46,7 +46,7 @@ namespace Volo.Abp.TestApp.Testing
customEvent2Handled.ShouldBeFalse();
return Task.CompletedTask;
});
-
+
LocalEventBus.Subscribe(data =>
{
data.Value.ShouldBe("42");
@@ -57,7 +57,7 @@ namespace Volo.Abp.TestApp.Testing
customEvent2Handled.ShouldBeFalse();
return Task.CompletedTask;
});
-
+
LocalEventBus.Subscribe(data =>
{
data.OldName.ShouldBe("Douglas");
@@ -69,7 +69,7 @@ namespace Volo.Abp.TestApp.Testing
customEvent2Handled.ShouldBeFalse();
return Task.CompletedTask;
});
-
+
LocalEventBus.Subscribe>(data =>
{
data.Entity.Name.ShouldBe("Douglas-Updated");
@@ -80,7 +80,7 @@ namespace Volo.Abp.TestApp.Testing
customEvent2Handled.ShouldBeFalse();
return Task.CompletedTask;
});
-
+
LocalEventBus.Subscribe(data =>
{
data.Value.ShouldBe("44");
@@ -97,13 +97,13 @@ namespace Volo.Abp.TestApp.Testing
await PersonRepository.InsertAsync(
new Person(Guid.NewGuid(), "TestPerson1", 42)
);
-
+
await LocalEventBus.PublishAsync(new MyCustomEventData { Value = "42" });
var douglas = await PersonRepository.GetAsync(TestDataBuilder.UserDouglasId);
douglas.ChangeName("Douglas-Updated");
await PersonRepository.UpdateAsync(douglas);
-
+
await LocalEventBus.PublishAsync(new MyCustomEventData2 { Value = "44" });
});
}
@@ -112,7 +112,7 @@ namespace Volo.Abp.TestApp.Testing
public virtual async Task Should_Rollback_Uow_If_Event_Handler_Throws_Exception()
{
(await PersonRepository.FindAsync(x => x.Name == "TestPerson1")).ShouldBeNull();
-
+
LocalEventBus.Subscribe>(data =>
{
data.Entity.Name.ShouldBe("TestPerson1");
@@ -128,7 +128,7 @@ namespace Volo.Abp.TestApp.Testing
);
});
});
-
+
exception.Message.ShouldBe("Just to rollback the UOW");
(await PersonRepository.FindAsync(x => x.Name == "TestPerson1")).ShouldBeNull();
@@ -162,7 +162,7 @@ namespace Volo.Abp.TestApp.Testing
await WithUnitOfWorkAsync(async () =>
{
- var dougles = PersonRepository.Single(b => b.Name == "Douglas");
+ var dougles = await PersonRepository.SingleAsync(b => b.Name == "Douglas");
dougles.ChangeName("Douglas-Changed");
await PersonRepository.UpdateAsync(dougles);
});
@@ -172,15 +172,15 @@ namespace Volo.Abp.TestApp.Testing
isLocalEventTriggered.ShouldBeTrue();
isDistributedEventTriggered.ShouldBeTrue();
}
-
+
private class MyCustomEventData
{
public string Value { get; set; }
}
-
+
private class MyCustomEventData2
{
public string Value { get; set; }
}
}
-}
\ No newline at end of file
+}
diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/MultiTenant_Filter_Tests.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/MultiTenant_Filter_Tests.cs
index da3e33ffea..2a4a012217 100644
--- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/MultiTenant_Filter_Tests.cs
+++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/MultiTenant_Filter_Tests.cs
@@ -14,7 +14,7 @@ using Xunit;
namespace Volo.Abp.TestApp.Testing
{
- public abstract class MultiTenant_Filter_Tests : TestAppTestBase
+ public abstract class MultiTenant_Filter_Tests : TestAppTestBase
where TStartupModule : IAbpModule
{
private ICurrentTenant _fakeCurrentTenant;
@@ -36,13 +36,13 @@ namespace Volo.Abp.TestApp.Testing
[Fact]
public async Task Should_Get_Person_For_Current_Tenant()
{
- await WithUnitOfWorkAsync(() =>
+ await WithUnitOfWorkAsync(async () =>
{
//TenantId = null
_fakeCurrentTenant.Id.Returns((Guid?)null);
- var people = _personRepository.ToList();
+ var people = await _personRepository.ToListAsync();
people.Count.ShouldBe(1);
people.Any(p => p.Name == "Douglas").ShouldBeTrue();
@@ -50,7 +50,7 @@ namespace Volo.Abp.TestApp.Testing
_fakeCurrentTenant.Id.Returns(TestDataBuilder.TenantId1);
- people = _personRepository.ToList();
+ people = await _personRepository.ToListAsync();
people.Count.ShouldBe(2);
people.Any(p => p.Name == TestDataBuilder.TenantId1 + "-Person1").ShouldBeTrue();
people.Any(p => p.Name == TestDataBuilder.TenantId1 + "-Person2").ShouldBeTrue();
@@ -59,7 +59,7 @@ namespace Volo.Abp.TestApp.Testing
_fakeCurrentTenant.Id.Returns(TestDataBuilder.TenantId2);
- people = _personRepository.ToList();
+ people = await _personRepository.ToListAsync();
people.Count.ShouldBe(0);
return Task.CompletedTask;
@@ -69,19 +69,19 @@ namespace Volo.Abp.TestApp.Testing
[Fact]
public async Task Should_Get_All_People_When_MultiTenant_Filter_Is_Disabled()
{
- await WithUnitOfWorkAsync(() =>
+ await WithUnitOfWorkAsync(async () =>
{
List people;
using (_multiTenantFilter.Disable())
{
//Filter disabled manually
- people = _personRepository.ToList();
+ people = await _personRepository.ToListAsync();
people.Count.ShouldBe(3);
}
//Filter re-enabled automatically
- people = _personRepository.ToList();
+ people = await _personRepository.ToListAsync();
people.Count.ShouldBe(1);
return Task.CompletedTask;
diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Basic_Tests_With_Int_Pk.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Basic_Tests_With_Int_Pk.cs
index 821a80492b..4347120d36 100644
--- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Basic_Tests_With_Int_Pk.cs
+++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Basic_Tests_With_Int_Pk.cs
@@ -22,9 +22,9 @@ namespace Volo.Abp.TestApp.Testing
[Fact]
public virtual async Task FirstOrDefault()
{
- await WithUnitOfWorkAsync(() =>
+ await WithUnitOfWorkAsync(async () =>
{
- var entity = EntityWithIntPkRepository.FirstOrDefault(e => e.Name == "Entity1");
+ var entity = await EntityWithIntPkRepository.FirstOrDefaultAsync(e => e.Name == "Entity1");
entity.ShouldNotBeNull();
entity.Name.ShouldBe("Entity1");
return Task.CompletedTask;
diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Queryable_Tests.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Queryable_Tests.cs
index 3ca511a7ea..c8710bbf2c 100644
--- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Queryable_Tests.cs
+++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Queryable_Tests.cs
@@ -23,9 +23,9 @@ namespace Volo.Abp.TestApp.Testing
[Fact]
public async Task Any()
{
- await WithUnitOfWorkAsync(() =>
+ await WithUnitOfWorkAsync(async () =>
{
- PersonRepository.Any().ShouldBeTrue();
+ (await PersonRepository.AnyAsync()).ShouldBeTrue();
return Task.CompletedTask;
});
}
@@ -33,9 +33,9 @@ namespace Volo.Abp.TestApp.Testing
[Fact]
public async Task Single()
{
- await WithUnitOfWorkAsync(() =>
+ await WithUnitOfWorkAsync(async () =>
{
- var person = PersonRepository.Single(p => p.Id == TestDataBuilder.UserDouglasId);
+ var person = await PersonRepository.SingleAsync(p => p.Id == TestDataBuilder.UserDouglasId);
person.Name.ShouldBe("Douglas");
return Task.CompletedTask;
});
diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Specifications_Tests.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Specifications_Tests.cs
index c26134b27c..9ce5499d7f 100644
--- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Specifications_Tests.cs
+++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/Repository_Specifications_Tests.cs
@@ -24,9 +24,9 @@ namespace Volo.Abp.TestApp.Testing
[Fact]
public async Task SpecificationWithRepository_Test()
{
- await WithUnitOfWorkAsync(() =>
+ await WithUnitOfWorkAsync(async () =>
{
- CityRepository.Count(new CitySpecification().ToExpression()).ShouldBe(1);
+ (await CityRepository.CountAsync(new CitySpecification().ToExpression())).ShouldBe(1);
return Task.CompletedTask;
});
}
@@ -39,4 +39,4 @@ namespace Volo.Abp.TestApp.Testing
return city => city.Name == "Istanbul";
}
}
-}
\ No newline at end of file
+}
diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/SoftDelete_Filter_Tests.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/SoftDelete_Filter_Tests.cs
index f3ac8c301f..514f2d2648 100644
--- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/SoftDelete_Filter_Tests.cs
+++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Testing/SoftDelete_Filter_Tests.cs
@@ -10,7 +10,7 @@ using Xunit;
namespace Volo.Abp.TestApp.Testing
{
- public abstract class SoftDelete_Filter_Tests : TestAppTestBase
+ public abstract class SoftDelete_Filter_Tests : TestAppTestBase
where TStartupModule : IAbpModule
{
protected readonly IRepository PersonRepository;
@@ -25,9 +25,9 @@ namespace Volo.Abp.TestApp.Testing
[Fact]
public async Task Should_Not_Get_Deleted_Entities_Linq()
{
- await WithUnitOfWorkAsync(() =>
+ await WithUnitOfWorkAsync(async () =>
{
- var person = PersonRepository.FirstOrDefault(p => p.Name == "John-Deleted");
+ var person = await PersonRepository.FirstOrDefaultAsync(p => p.Name == "John-Deleted");
person.ShouldBeNull();
return Task.CompletedTask;
});
@@ -46,9 +46,9 @@ namespace Volo.Abp.TestApp.Testing
[Fact]
public async Task Should_Not_Get_Deleted_Entities_By_Default_ToList()
{
- await WithUnitOfWorkAsync(() =>
+ await WithUnitOfWorkAsync(async () =>
{
- var people = PersonRepository.ToList();
+ var people = await PersonRepository.ToListAsync();
people.Count.ShouldBe(1);
people.Any(p => p.Name == "Douglas").ShouldBeTrue();
return Task.CompletedTask;
@@ -58,36 +58,36 @@ namespace Volo.Abp.TestApp.Testing
[Fact]
public async Task Should_Get_Deleted_Entities_When_Filter_Is_Disabled()
{
- await WithUnitOfWorkAsync(() =>
+ await WithUnitOfWorkAsync(async () =>
{
//Soft delete is enabled by default
- var people = PersonRepository.ToList();
+ var people = await PersonRepository.ToListAsync();
people.Any(p => !p.IsDeleted).ShouldBeTrue();
people.Any(p => p.IsDeleted).ShouldBeFalse();
using (DataFilter.Disable())
{
//Soft delete is disabled
- people = PersonRepository.ToList();
+ people = await PersonRepository.ToListAsync();
people.Any(p => !p.IsDeleted).ShouldBeTrue();
people.Any(p => p.IsDeleted).ShouldBeTrue();
using (DataFilter.Enable())
{
//Soft delete is enabled again
- people = PersonRepository.ToList();
+ people = await PersonRepository.ToListAsync();
people.Any(p => !p.IsDeleted).ShouldBeTrue();
people.Any(p => p.IsDeleted).ShouldBeFalse();
}
//Soft delete is disabled (restored previous state)
- people = PersonRepository.ToList();
+ people = await PersonRepository.ToListAsync();
people.Any(p => !p.IsDeleted).ShouldBeTrue();
people.Any(p => p.IsDeleted).ShouldBeTrue();
}
//Soft delete is enabled (restored previous state)
- people = PersonRepository.ToList();
+ people = await PersonRepository.ToListAsync();
people.Any(p => !p.IsDeleted).ShouldBeTrue();
people.Any(p => p.IsDeleted).ShouldBeFalse();
diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.EntityFrameworkCore/Volo/Abp/TenantManagement/EntityFrameworkCore/EfCoreTenantRepository.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.EntityFrameworkCore/Volo/Abp/TenantManagement/EntityFrameworkCore/EfCoreTenantRepository.cs
index 5da11fe767..a240732236 100644
--- a/modules/tenant-management/src/Volo.Abp.TenantManagement.EntityFrameworkCore/Volo/Abp/TenantManagement/EntityFrameworkCore/EfCoreTenantRepository.cs
+++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.EntityFrameworkCore/Volo/Abp/TenantManagement/EntityFrameworkCore/EfCoreTenantRepository.cs
@@ -69,7 +69,7 @@ namespace Volo.Abp.TenantManagement.EntityFrameworkCore
public virtual async Task GetCountAsync(string filter = null, CancellationToken cancellationToken = default)
{
- return await this
+ return await (await GetQueryableAsync())
.WhereIf(
!filter.IsNullOrWhiteSpace(),
u =>
diff --git a/modules/users/src/Volo.Abp.Users.EntityFrameworkCore/Volo/Abp/Users/EntityFrameworkCore/EfCoreAbpUserRepositoryBase.cs b/modules/users/src/Volo.Abp.Users.EntityFrameworkCore/Volo/Abp/Users/EntityFrameworkCore/EfCoreAbpUserRepositoryBase.cs
index 635d9fc8fd..55ed754509 100644
--- a/modules/users/src/Volo.Abp.Users.EntityFrameworkCore/Volo/Abp/Users/EntityFrameworkCore/EfCoreAbpUserRepositoryBase.cs
+++ b/modules/users/src/Volo.Abp.Users.EntityFrameworkCore/Volo/Abp/Users/EntityFrameworkCore/EfCoreAbpUserRepositoryBase.cs
@@ -22,7 +22,7 @@ namespace Volo.Abp.Users.EntityFrameworkCore
public async Task FindByUserNameAsync(string userName, CancellationToken cancellationToken = default)
{
- return await this.OrderBy(x => x.Id).FirstOrDefaultAsync(u => u.UserName == userName, GetCancellationToken(cancellationToken));
+ return await (await GetDbSetAsync()).OrderBy(x => x.Id).FirstOrDefaultAsync(u => u.UserName == userName, GetCancellationToken(cancellationToken));
}
public virtual async Task> GetListAsync(IEnumerable ids, CancellationToken cancellationToken = default)