簡體   English   中英

AutoMapper 到 map 嵌套列表 object

[英]AutoMapper to map a nested list object

我有 2 個對象:Parent 和 ParentDTO:

class ParentDTO
    {
        public string AttA { get; set; }
        public List<List<BDto>> AttrBNestedList { get; set; }
    }
    class BDto
    {
        public string AttrC { get; set; }
        public int AtterD { get; set; }
        public string AtterE { get; set; }

        public CDto AttrFobj { get; set; }
    }

    class CDto
    {
        public string AttrG { get; set; }
        public int AtterH { get; set; }
    }

    //--------------------------------------
    class Parent 
    {
        public string AttA { get; set; }
        public List<B> AttrBList { get; set; }
    }
    class B
    {
        public string AttrC { get; set; }
        public int AtterD { get; set; }
        public string AtterE { get; set; }

        public C AttrFobj { get; set; }
        public C AttrGobj { get; set; }
        public C AttrHobj { get; set; }

    }

    class C
    {
        public string AttrI { get; set; }
        public string AttrJ { get; set; }
        public int AtterK { get; set; }
    }

我想使用 AutoMapper 到 map 數據從 ParentDto object 到父 object(ParentDto 中的所有數據都必須傳輸到父,但第一個元素從 AttrBNestedList 副本)

Mapper.CreateMap<CDto, C>();
Mapper.CreateMap<BDto, B>();
Mapper.CreateMap<ParentDto, Parent>()
      .ForMember(dest => dest.AttrBList , opt => opt.AttrBNestedList.singleorDefault??);

我只需要從List<List<BDto>> AttrBNestedList map 到List<B> AttrBList的 singleorDefault 項目

誰能幫我。 謝謝

存在不允許您使用SingleOrDefault()的語法錯誤,您需要使用MapFrom方法:

Mapper.CreateMap<ParentDTO, Parent>().ForMember(dest => dest.AttrBList, opt => opt.MapFrom(src => src.AttrBNestedList.SingleOrDefault()));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM