【问题标题】:Get all parent table rows and all children's table rows in ABP .NET core framework获取 ABP .NET 核心框架中的所有父表行和所有子表行
【发布时间】:2020-03-09 14:14:59
【问题描述】:

我在 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>
    {
       :
       :
       :

}

【问题讨论】:

  • 先显示你的映射器。
  • @CrazyBaran 我用过 ====> [AutoMap(typeof(MainProject))]
  • 你也有孩子的 Automap 吗?
  • @CrazyBaran 是的,这里是 ==========> [AutoMap(typeof(SubProject))]
  • 您是否在对存储库的查询中包含了 subProject?

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


【解决方案1】:

我认为您的问题不是映射问题。您应该覆盖 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)
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多