首页 > 代码库 > AutoMapper指定列名进行映射
AutoMapper指定列名进行映射
有了AutoMapper,就再也不用进行手工一对一的从IDataReader到实体字段的赋值。这篇博文是一个实际案例的记录。
实体类型定义如下:
public class UploadImage{ public int Id { get; set; } public string Src { get; set; }}
Src属性在数据库中对应的字段名为ImageUrl。
映射要求:从IDataReader到IEnumerable<UploadImage>,代码如下:
using (var conn = new SqlConnection(ConnectionStrings.Default)){ using (var command = conn.CreateCommand()) { command.CommandType = System.Data.CommandType.Text; command.CommandText = "..."; await conn.OpenAsync(); using (IDataReader reader = await command.ExecuteReaderAsync()) { return AutoMapper.Mapper.Map<IDataReader, IEnumerable<UploadImage>>(reader); } }}
通过 IMappingExpression.ForMember() 方法配置AutoMapper可以实现这个映射,代码如下:
//这里非常具有代表性
AutoMapper.Mapper.CreateMap<IDataReader, UploadImage>() .ForMember(dest => dest.Src, options => options.MapFrom( src => src.GetString(src.GetOrdinal("ImageUrl"))));
AutoMapper指定列名进行映射
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。