Box
オブジェクトをBoxedElectrodesRowModel
にマップしようとしています。「System.CharからSystem.Stringへのマップがありません」AutoMapperエラー
Box
オブジェクトプロパティSerialNumbers
を有し、の各々は、それらはSerialNumberName
の独自の特性を有しています。 SerialNumberName
のリストを、SerialNumbers
と呼ばれるBoxedElectrodeRowModel
の文字列リストにマップしようとしています。
AutoMapperコード
c.CreateMap<Box, BoxedElectrodesRowModel>()
.ForMember(dest => dest.BoxId, opts => opts.MapFrom(src => src.BoxID))
.ForMember(dest => dest.SerialNumbers, opts => opts.MapFrom(src => src.SerialNumbers.Select(t => t.SerialNumberName).FirstOrDefault().ToList()))
.ForMember(dest => dest.DateCreated, opts => opts.MapFrom(src => src.DateCreated));
は、ここで私は今取得していますエラーです。私はそれが何を指しているのかわからない。
Missing map from System.Char to System.String. Create using Mapper.CreateMap
このすべての目的は、それが役立つ場合、各行のそのSerialNumbers
のリストを各Box
を表示するのDataTableを使用してテーブルを作成することです。すべてがコード化されていますが、実行時に上記のエラーが発生します。
編集:ここには私のマッピングがあります。私はBoxId
をBoxId
に、DateCreated
をDateCreated
に、SerialNumberName
をそれぞれSerialNumber
(リスト内)からSerialNumbers
にマッピングしようとしています。
ボックス(自動生成)
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; }
}
のSerialNumber(これはそれぞれ 'ボックス'、また、自動生成されたコードの特性である)
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 SerialNumberName { 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
public class BoxedElectrodesRowModel
{
public int BoxId { get; set; }
public List<string> SerialNumbers { get; set; } // change from List to ICollection if there are problems
public Nullable<System.DateTime> DateCreated { get; set; }
}
は、あなたのボックスとBoxedElectrodesRowModelクラスの定義を投稿してくださいことはできますか?マップ上のプロパティを表示しています –
マッピングしているクラスを追加しました –