休言女子非英物,夜夜龙泉壁上鸣。这篇文章主要讲述AutoMapper指定列名进行映射相关的知识,希望能为你提供帮助。
有了AutoMapper,就再也不用进行手工一对一的从IDataReader到实体字段的赋值。这篇博文是一个实际案例的记录。
实体类型定义如下:
public class UploadImage { public int Id { get; set; } public string Src { get; set; } }
【AutoMapper指定列名进行映射】
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 =https://www.songbingjia.com/android/> src.GetString(src.GetOrdinal("ImageUrl"))));
推荐阅读
- AndroidStudio中集成使用Kotlin
- AndroidStudio3.0 下载使用新功能介绍
- 坚向的ViewPager,上下滑动的组件,android上下滑动VerticalPager
- DB2 RazorSQL查询构建器
- DB2 RazorSQL导入数据
- PL-SQL常见的面试题有哪些(答案和解析介绍)
- Python与JavaScript差异对比(有哪些区别())
- 最佳的机器学习常见面试题和答案合集解析
- MongoDB常见面试题有哪些(答案和解析指南)