簡體   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