[英]Can I use EF Core 2.0 'AsNoTracking' in CRUD service GetAll?
我有一個實現以下目的的應用程序服務:
public interface IPracticeAppService : IAsyncCrudAppService<PracticeDto, int, PagedAndSortedResultRequestDto,CreatePracticeDto, PracticeDto>
我想使用AsNoTracking
。
在下面的示例中,有沒有一種使用AsNoTracking
?
public override Task<PagedResultDto<PracticeDto>> GetAll(PagedAndSortedResultRequestDto input)
{
return base.GetAll(input);
}
是。 但是, .AsNoTracking()
僅適用於IQueryable
因此您不能調用base
方法。
public override async Task<PagedResultDto<PracticeDto>> GetAll(PagedAndSortedResultRequestDto input)
{
CheckGetAllPermission();
var query = CreateFilteredQuery(input).AsNoTracking(); // Here!
var totalCount = await AsyncQueryableExecuter.CountAsync(query);
query = ApplySorting(query, input);
query = ApplyPaging(query, input);
var entities = await AsyncQueryableExecuter.ToListAsync(query);
return new PagedResultDto<PracticeDto>(
totalCount,
entities.Select(MapToEntityDto).ToList()
);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.