繁体   English   中英

EF Automapper 父子项为空

[英]EF Automapper Parents child is null

我正在尝试使用实体框架从我们的数据库中读取数据,并且由于该项目已经使用 Automapper 将实体从实体转换为 Dtos,因此使用 Automappers 可查询扩展使生活更轻松是有意义的。 我正在使用 Microsoft.EntityFrameworkCore 版本 3.1.9.0

问题是 BundleMetaDataDt.child 的返回数组始终为空。 下面的查询返回大量数据,但每个 BundleMetaDataDtos 子值都为空。

我努力了:

  • .Include(b => b.ChildBundle) 在 Where 语句之前
  • .ForMember(dest => dest.ChildBundle, opt => opt.MapFrom(src => src.ChildBundleId))
  • .MaxDepth(2)

类:(有比下面显示的更多的字段)

public partial class Bundle
{
  public Guid? ChildBundleId { get; set; }
  public Bundle ChildBundle { get; set; }
}

public class BundleMetaDataDto
{
  [DataMember(IsRequired = true, Order = 15)]
  public BundleMetaDataDto ChildBundle { get; set; }
}

地图:

cfg.CreateMap<Bundle, BundleMetaDataDto>()
  .ForMember(dest => dest.ChildBundle, opt => opt.MapFrom(src => src.ChildBundle))

询问:

var bundles = context.Bundles
  .Where(bundle => bundle.ChildBundle != null)
  .ProjectTo<BundleMetaDataDto>(EntityConverter.MapperConfiguration)
  .ToArray();

感谢@LucianBargaoanu,我通过添加以下内容使其工作:

cfg.Advanced.RecursiveQueriesMaxDepth = 1;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM