3

たとえば、次の列を返す DB ビューがあります。

Id int
Name nvarchar(200)
PrimaryAddress_Street nvarchar(200)
PrimaryAddress_City nvarchar(200)

そして、それを私のDTOにマップしたいと思います:

public class Customer {
  public int Id { get; set; }
  public string Name { get; set; }
  public Address PrimaryAddress { get; set; }
}

public class Address {
  public string Street { get; set; }
  public string City { get; set; }
}

AutoMapper を使用してそれを行いたいと思います。IDataRecordDTO にマップしてから、ADO.NET から直接読み取りDbDataReaderます。

CreateMap<IDataRecord, Customer>();
var result = Mapper.Map<IDataReader, IEnumerable<Customer>>(reader);

CustomerDTOの基本的なプロパティに対して機能します。ただし、もちろんPrimaryAddress、このアンダースコア表記は AutoMapper で構築されていないため、ネストされたプロパティは null のままです。

これをサポートするために AutoMapper を拡張する方法はありますか?

備考: Entity Framework でうまく機能し、EF と AutoMapper で異なるビューを使用したくないため、この表記法を使用しています。

4

0 に答える 0