2013-08-28 46 views
7

Sự khác nhau giữa các mã bên dưới là gì;Sự khác biệt giữa bản đồ bình thường với bản đồ động - tự động hóa

List<Ogrenci> ogrenci = AutoMapper.Mapper.DynamicMap<IDataReader, List<Ogrenci>>((dt.CreateDataReader())); 

    var ogr = AutoMapper.Mapper.Map<IDataReader, IList<Ogrenci>>(dt.CreateDataReader()); 

Khi tôi cố gắng sử dụng mã bên dưới;

AutoMapper.Mapper.CreateMap<IDataReader, Ogrenci>().ForMember(dest => dest.Numarasi, opt => opt.MapFrom(src => Convert.ToInt32(src["Numara"]))) 
      .ForMember(dest => dest.Adi, opt => opt.MapFrom(src => Convert.ToString(src["Ad"]))) 
      .ForMember(dest => dest.Soyadi, opt => opt.MapFrom(src => Convert.ToString(src["Soyad"]))); 

     List<Ogrenci> ogrenci = AutoMapper.Mapper.DynamicMap<IDataReader, List<Ogrenci>>((dt.CreateDataReader())); 
     var ogr = AutoMapper.Mapper.Map<IDataReader, IList<Ogrenci>>(dt.CreateDataReader()); 

Tôi không thể sử dụng mã bên dưới;

List<Ogrenci> ogrenci = AutoMapper.Mapper.DynamicMap<IDataReader, List<Ogrenci>>((dt.CreateDataReader())); 

nhưng tôi có thể sử dụng mã bên dưới;

var ogr = AutoMapper.Mapper.Map<IDataReader, IList<Ogrenci>>(dt.CreateDataReader()); 

Đề xuất của bạn là gì?

Cảm ơn bạn.

Trả lời

6

Bản đồ động trong AutoMapper được sử dụng khi bạn không biết loại nguồn lúc biên dịch. Lý do bạn không thể sử dụng

List<Ogrenci> ogrenci = AutoMapper.Mapper.DynamicMap<IDataReader, List<Ogrenci>>((dt.CreateDataReader())); 

là do DynamicMap không cần bạn chỉ định loại nguồn, chỉ loại đích.

AutoMapper features: Dynamic Mapping

Các vấn đề liên quan