【问题标题】:Include into GetAll method (ASP.NET Boilerplate)包含在 GetAll 方法中(ASP.NET 样板)
【发布时间】:2021-12-14 07:31:57
【问题描述】:

我的后端使用 asp.net 样板

我创建了继承 AsyncCrudAppService<GettingApproved, GettingApprovedDto, int, PagedGettingApprovedResultRequestDto, CreateGettingApprovedDto, GettingApprovedDto>的应用服务

但是我的GettingApproved 实体有另一个实体的外键。如何包含此实体?

或者重写GetAll()方法?

【问题讨论】:

  • 不,因为我使用 AsyncCrudAppService @aaron
  • 你觉得有什么区别?
  • 方法的区别。您提供的帖子中的任何答案都没有回答我的问题。 CreateFilteredQuery 不在异步方法中 @aaron
  • 试试看,你会看到的。

标签: c# .net asp.net-core asp.net-boilerplate


【解决方案1】:

尤金,

你可以像这样覆盖它:

如果你不喜欢使用CreatedFilteredQuery 方法,你可以像这样覆盖GetAll

    public override Task<PagedResultDto<GettingApprovedDto>> GetAllAsync(PagedGettingApprovedResultRequestDto input)
    {
        var lista = new List<GettingApproved>();
        var query = Repository.GetAllIncluding(x => x.YouEntity);

        query = ApplySorting(query, input);

        lista = query
            .Skip(input.SkipCount)
            .Take(input.MaxResultCount)
            .ToList();

        var result = new PagedResultDto<GettingApprovedDto>(query.Count(), ObjectMapper.Map<List<GettingApprovedDto>>(lista));
        return Task.FromResult(result);
    }

如果你正在使用它,你也必须像这样添加GetAllIncluding 部分:

    protected override IQueryable<GettingApproved> CreateFilteredQuery(PagedGettingApprovedResultRequestDto input)
    {
        return Repository.GetAllIncluding(x => x.YourEntity);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    相关资源
    最近更新 更多