首页 > 解决方案 > 包含在 GetAll 方法中(ASP.NET 样板)

问题描述

我在后端使用 asp.net 样板

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

但是我的GettingApproved实体有另一个实体的外键。我怎样才能包括这个实体?

还是重写GetAll()方法?

标签: c#.netasp.net-coreasp.net-boilerplate

解决方案


尤金,

您可以像这样覆盖它:

如果您不使用该方法,则可以像这样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);
    }

推荐阅读