如何在 ABP 存储库中使用 ToListAsync() 方法?
How can I use ToListAsync() method with ABP repository?
我有一个应用程序服务方法GetWithName
,我想编写它的异步版本。为此,我尝试使用 ToListAsync()
但存储库没有此方法。
public PagedResultDto<BookDto> GetWithName(SearchWithNameRequestDto input)
{
var books =
Repository
.Where(p => p.Name.Contains(input.Name))
.ToList();
return new PagedResultDto<BookDto>
{
TotalCount = books.Count,
Items = ObjectMapper.Map<List<Book>, List<BookDto>>(books)
};
}
如何使用 ToList
方法的异步版本?
ToListAsync
依赖于 ORM:
// using Microsoft.EntityFrameworkCore;
var query = Repository
.Where(p => p.Name.Contains(input.Name));
var books = await query.ToListAsync();
对于 DI(独立于 ORM)解决方案,注入 IAsyncQueryableExecuter
并执行:
// using Abp.Linq;
var query = Repository
.Where(p => p.Name.Contains(input.Name));
var books = await _asyncQueryableExecuter.ToListAsync(query);
我有一个应用程序服务方法GetWithName
,我想编写它的异步版本。为此,我尝试使用 ToListAsync()
但存储库没有此方法。
public PagedResultDto<BookDto> GetWithName(SearchWithNameRequestDto input)
{
var books =
Repository
.Where(p => p.Name.Contains(input.Name))
.ToList();
return new PagedResultDto<BookDto>
{
TotalCount = books.Count,
Items = ObjectMapper.Map<List<Book>, List<BookDto>>(books)
};
}
如何使用 ToList
方法的异步版本?
ToListAsync
依赖于 ORM:
// using Microsoft.EntityFrameworkCore;
var query = Repository
.Where(p => p.Name.Contains(input.Name));
var books = await query.ToListAsync();
对于 DI(独立于 ORM)解决方案,注入 IAsyncQueryableExecuter
并执行:
// using Abp.Linq;
var query = Repository
.Where(p => p.Name.Contains(input.Name));
var books = await _asyncQueryableExecuter.ToListAsync(query);