AutoMapper文档:http://docs.automapper.org/en/stable/The-MyGet-build.html

新的版本抛弃了静态API方法,我们将使用依赖注入来完成。

①添加包

②创建MyAutoMapper.cs文件来创建实体和Dto之间的映射关系

 public class MyAutoMapper : Profile
{
public MyAutoMapper()
{
//实体和Dto的相互转化
CreateMap<PFUserDto, PFUser>().ReverseMap();
}
}
 /// <summary>
/// 用户表
/// </summary>
[Table("PF_User")]
public class PFUser
{ /// <summary>
/// 主键
/// </summary>
[Column("UserGuid")]
[Display(Name = "用户表主键", Description = "用户表主键")]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; } /// <summary>
/// 用户名
/// </summary>
[Display(Description = "用户名", Name = "用户名")]
[Column("UserName")]
[StringLength()]
public string UserName { get; set; } /// <summary>
/// 密码
/// </summary>
[Display(Description = "密码", Name = "密码")]
[Column("UserPassWord")]
[StringLength()]
public string UserPassWord { get; set; } /// <summary>
/// 是否删除
/// </summary>
[Display(Description = "是否删除", Name = "是否删除")]
[Column("IsDeleted")]
public byte? IsDeleted { get; set; } /// <summary>
/// 创建日期
/// </summary>
[Display(Description = "创建日期", Name = "创建日期")]
[Column("CreateDate")]
public DateTime? CreateDate { get; set; } }
 public class PFUserDto
{ /// <summary>
/// 主键
/// </summary>
[Column("UserGuid")]
[Display(Name = "用户表主键", Description = "用户表主键")]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; } /// <summary>
/// 用户名
/// </summary>
[Display(Description = "用户名", Name = "用户名")]
[Column("UserName")]
[StringLength(128)]
public string UserName { get; set; } /// <summary>
/// 密码
/// </summary>
[Display(Description = "密码", Name = "密码")]
[Column("UserPassWord")]
[StringLength(256)]
public string UserPassWord { get; set; } /// <summary>
/// 是否删除
/// </summary>
[Display(Description = "是否删除", Name = "是否删除")]
[Column("IsDelte")]
public byte? IsDeleted { get; set; } /// <summary>
/// 创建日期
/// </summary>
[Display(Description = "创建日期", Name = "创建日期")]
[Column("CreateDate")]
public DateTime? CreateDate { get; set; } public string MyProperty { get; set; } }

 

③添加服务

  

④使用:实体转Dto,Dto转实体也是一样的

ProjectTo<>方法:

值的转化,我们想给前端传的时间是字符串形式的,AutoMapper还允许我们自定义转化器来转化我们的数据类型

①创建DateTimeTypeConverter.cs文件

 /// <summary>
/// DateTime2string
/// </summary>
public class DateTimeTypeConverter : ITypeConverter<DateTime, string>
{
public string Convert(DateTime source, string destination, ResolutionContext context)
{
return source.ToString("yyyy-MM-dd HH:mm:ss");
}
}

添加类型映射关系

public class MyAutoMapper : Profile
{
public MyAutoMapper()
{
// 可以给lambda表达式
//CreateMap<DateTime, string>().ConvertUsing(x => x.ToString("yyyy-MM-dd HH:mm:ss"));
//实现接口
CreateMap<DateTime, string>().ConvertUsing<DateTimeTypeConverter>();
//实体和Dto的相互转化
CreateMap<PFUserDto, PFUser>().ReverseMap();
} }

修改我们的Dto  CreateDate类型

使用:字符串转时间

时间转字符串

还有别的就自己看文档吧

最新文章

  1. Hibernate的映射文件
  2. Codeigniter文件上传类型不匹配错误
  3. core的生成
  4. scala打印九九乘法表的5种实现
  5. 在Ubuntu下卸载Apache
  6. Spring(3.2.3) - Beans(11): depends-on
  7. JavaEE中遗漏的10个最重要的安全控制
  8. linux定时器
  9. 【转】HTML5 API --- 页面可见性改变(visibilitychange)事件
  10. MySQL 库名重命名
  11. SQL得到任意一个存储过程的参数列表sp_procedure_params_rowset
  12. vue分页问题参考 感谢
  13. 使用 IncrediBuild 提升 VisualStudio 编译速度
  14. LinkedList 底层实现原理
  15. Linux系统修改防火墙配置
  16. 流媒体协议之RTSP服务端的实现20180629
  17. Python----一些面试题
  18. Croc Champ 2013 - Round 1 E. Copying Data 线段树
  19. Cobertura + jenkins 单元测试代码覆盖率统计
  20. sqlserver数据库标注为可疑的解决办法

热门文章

  1. v-on 事件触发
  2. 使用IDEA重构代码
  3. Kubernetes概念之mater、node
  4. 集合(set)
  5. provisional headers are shown 一例
  6. Odoo甘特图
  7. mysql数据库之事务和隔离级别
  8. Jenkins+SVN+Ant在Linux环境下自动完成版本的增量更新与编译
  9. 【Tomcat】Web应用的目录结构
  10. Latex 调整断字,连接符,取消断词/断字