Open Source Web Application Framework for ASP.NET Core. Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET and the ASP.NET Core platforms. Provides the fundamental infrastructure, production-ready startup templates, application modules, UI themes, tooling, guides and documentation.
After upgrading from ABP 8.00 to 8.1.0 the GetListAsync & InsertManyAsync are very slow.
After testing the 8.1.1, it sloved the InsertManyAsync slowness. The GetListAsync still takes ages when querying large tables.
If I override the GetListAsync with a custom implementation then Its a lot more faster.
Reproduction Steps
Create an ABP 8.1.1 project.
Use GetListAsync in the repository await Repository.GetListAsync (x=> x.abc = 'something')
It takes a while to retrieve records
Expected behavior
The data retrieval shouldn't take long
Actual behavior
The data retrieval takes ages
Regression?
No response
Known Workarounds
overwrite GetListAsync in the repo with something like this
public override async Task<List<myModel>> GetListAsync(Expression<Func<myModel, bool>> predicate, bool includeDetails = false, CancellationToken cancellationToken = default) { var dbContext = await GetDbContextAsync(); var setContext = dbContext.Set<myModel>(); var result = await (from data in setContext.AsNoTracking().Where(predicate) select data).ToListAsync(); return result; }
Is there an existing issue for this?
Description
After upgrading from ABP 8.00 to 8.1.0 the GetListAsync & InsertManyAsync are very slow. After testing the 8.1.1, it sloved the InsertManyAsync slowness. The GetListAsync still takes ages when querying large tables.
If I override the GetListAsync with a custom implementation then Its a lot more faster.
Reproduction Steps
Create an ABP 8.1.1 project.
Use GetListAsync in the repository
await Repository.GetListAsync (x=> x.abc = 'something')
It takes a while to retrieve records
Expected behavior
The data retrieval shouldn't take long
Actual behavior
The data retrieval takes ages
Regression?
No response
Known Workarounds
overwrite GetListAsync in the repo with something like this
public override async Task<List<myModel>> GetListAsync(Expression<Func<myModel, bool>> predicate, bool includeDetails = false, CancellationToken cancellationToken = default) { var dbContext = await GetDbContextAsync(); var setContext = dbContext.Set<myModel>(); var result = await (from data in setContext.AsNoTracking().Where(predicate) select data).ToListAsync(); return result; }
Version
8.1.1
User Interface
Common (Default)
Database Provider
EF Core (Default)
Tiered or separate authentication server
None (Default)
Operation System
Windows (Default)
Other information
No response