以下代码之间有什么区别;
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不需要您指定源类型,只需要指定目标类型.
原文地址:https://www.jb51.cc/csharp/99339.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。