0
我有一個Box
對象,它有一個嵌套在其中的SerialNumber
對象列表。我試圖將Box
中的每個SerialNumber
的SerialNumberName
屬性映射到名爲BoxedElectrodesModel
的模型。嘗試映射嵌套對象時出現Automapper錯誤
這是我Box
類及其嵌套SerialNumber
類:
public partial class Box
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Box()
{
this.SerialNumbers = new HashSet<SerialNumber>();
}
public int BoxID { get; set; }
public System.DateTime DateCreated { get; set; }
public Nullable<System.DateTime> DateShipped { get; set; }
public string TrackingNumber { get; set; }
public Nullable<System.DateTime> DateReceived { get; set; }
public bool Active { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<SerialNumber> SerialNumbers { get; set; }
}
public partial class SerialNumber
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public SerialNumber()
{
this.Comments = new HashSet<Comment>();
this.WIPHistories = new HashSet<WIPHistory>();
}
public int SerialNumberID { get; set; }
public int IncomingLotID { get; set; }
public string SerialNumber1 { get; set; }
public string LamPurchaseOrder { get; set; }
public string LamLineNumber { get; set; }
public bool Refurbished { get; set; }
public int WIPLocationID { get; set; }
public int StatusID { get; set; }
public int RouteSectionStepID { get; set; }
public Nullable<int> RejectCategoryID { get; set; }
public Nullable<int> BoxID { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Comment> Comments { get; set; }
public virtual IncomingLot IncomingLot { get; set; }
public virtual RejectCategory RejectCategory { get; set; }
public virtual Status Status { get; set; }
public virtual WIPLocation WIPLocation { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<WIPHistory> WIPHistories { get; set; }
public virtual Box Box { get; set; }
public virtual RouteSectionStep RouteSectionStep { get; set; }
}
......這裏是我的 'BoxedElectrodesRowModel' 類及其嵌套SerialNumberModel
類:
public class BoxedElectrodesRowModel
{
public int BoxId { get; set; }
public List<SerialNumberModel> SerialNumbers { get; set; }
public Nullable<System.DateTime> DateCreated { get; set; }
}
public class SerialNumberModel
{
public string Name { get; set; }
}
這是我的AutoMapper代碼:
c.CreateMap<Box, BoxedElectrodesRowModel>()
.ForMember(dest => dest.BoxId, opts => opts.MapFrom(src => src.BoxID))
.ForMember(dest => dest.SerialNumbers.Select(sn => sn.Name), opts => opts.MapFrom(src => src.SerialNumbers.Select(t => t.SerialNumberName)))
.ForMember(dest => dest.DateCreated, opts => opts.MapFrom(src => src.DateCreated));
這裏是我的錯誤信息:
「的成員自定義配置僅支持一個類型的頂級 個人會員。」
的問題,我認爲,有事情做的事實,我想嵌套屬性SerialNumberName
從Box
>SerialNumbers
映射到從BoxedElectrodesRowModel
>SerialNumbers
嵌套屬性Name
。
我該如何解決這個問題?
您使用的是什麼版本的automapper? – CodingYoshi
@CodingYoshi 5.1.1版 –