首页 > 解决方案 > 获取 ABP .NET 核心框架中的所有父表行和所有子表行

问题描述

我在 ABP .NET Core 中使用内置 CRUD 操作,但是当它从GetAll方法返回数据时,它重新调整了所有父行,但在其子列表中返回 null。

  public class MainProjectAppService : AsyncCrudAppService<MainProject, MainProjectDto, int, PagedAndSortedResultRequestDto, MainProjectDto, MainProjectDto>
    {

 public MainProjectAppService(IRepository<MainProject, int> repositoryr) : base(repository)
        {

        }
}

在此处输入图像描述

-------------------------------------------

我的 Dto 代码

 [AutoMap(typeof(MainProject))]
    public class MainProjectDto:EntityDto<int>
    {
       :
       :
       :

}

标签: aspnetboilerplateef-core-2.2ef-core-3.0asp.net-boilerplate

解决方案


我认为您的问题不是映射问题。您应该覆盖 AsyncCrudAppService 的 CreateFilteredQuery 并包含您的详细列表属性。AsyncCrudAppService GetAll 调用这个受保护的方法。您还可以从此方法添加其他 linq 查询。如果您不包含详细关系,则不包含它们导致的实际 sql 查询:

 protected override IQueryable<YourEntity> CreateFilteredQuery(PagedAndSortedResultRequestDto input)
    {
        return base.CreateFilteredQuery(input)
            .Include(p => p.YourDetailListProperty)
            .Include(p => p.YourOtherDetailListProperty)
    }

推荐阅读