c# – 法线贴图与动态贴图之间的差异–authepper

以下代码之间有什么区别;
List<Ogrenci> ogrenci = AutoMapper.Mapper.DynamicMap<IDataReader,List<Ogrenci>>((dt.CreateDataReader()));

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

当我尝试使用下面的代码时;

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());

我不能使用下面的代码;

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

但我可以使用下面的代码;

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

你有什么建议?

谢谢.

解决方法

当您在编译时不知道源类型时,将使用AutoMapper中的DynamicMap.你不能使用的原因
List<Ogrenci> ogrenci = AutoMapper.Mapper.DynamicMap<IDataReader,List<Ogrenci>>((dt.CreateDataReader()));

是因为DynamicMap不需要您指定源类型,只需要指定目标类型.

AutoMapper features: Dynamic Mapping

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...