.net core使用AutoMapper
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类型

使用:字符串转时间

时间转字符串

还有别的就自己看文档吧
.net core使用AutoMapper的更多相关文章
- ASP.NET Core教程:ASP.NET Core使用AutoMapper
一.前言 在实际的项目开发过程中,我们使用各种ORM框架可以使我们快捷的获取到数据,并且可以将获取到的数据绑定到对应的List<T>中,然后页面或者接口直接显示List<T>中 ...
- .net core中automapper的使用
automapper 是将两个类中的相同字段进行映射,也可以指定字段进行映射:将 UserDao的id 映射为 User 的age CreateMap<UserDao, User>() . ...
- .net core启用 autoMapper
启用 autoMapper autoMapper 基于约定的对象映射器 目录 安装包 添加服务 书写映射关系 安装包 需要安装两个包:AutoMapper和AutoMapper.Extensi ...
- .Net Core使用AutoMapper做对象关系映射
我想很多后端开发者,纠结于如何在Dto及表实体中做属性关系映射,因为真的太繁琐了., ⒈如何使用? Mapper.Initialize(cfg => cfg.CreateMap<Users ...
- .net Core 使用AutoMapper
在我们的项目中慢慢的要把数据库的实体模型和视图模型进行分离,防止被人拿到我们表字段.在学校的时候自己只是有将很多数据库模型,写成一个视图模型返回到前台. 首先我们把这两个包引入项目中去. 然后我们创建 ...
- .NET Core应用框架AA介绍(二)
AA的开源地址 https://github.com/ChengLab/AAFrameWork AA框架是一个基础应用框架,是建立在众多大家熟知的流行工具之上并与之集成.比如:ASP.NET Core ...
- Getting A Mime Type From A File Name In .NET Core
Getting a mime type based on a file name (Or file extension), is one of those weird things you never ...
- 使用ASP.NET Core构建RESTful API的技术指南
译者荐语:利用周末的时间,本人拜读了长沙.NET技术社区翻译的技术标准<微软RESTFul API指南>,打算按照步骤写一个完整的教程,后来无意中看到了这篇文章,与我要写的主题有不少相似之 ...
- 《进击吧!Blazor!》第一章 1.初识 Blazor
作者介绍 陈超超 Ant Design Blazor 项目贡献者 拥有十多年从业经验,长期基于.Net技术栈进行架构与开发产品的工作,Ant Design Blazor 项目贡献者,现就职于正泰集团 ...
随机推荐
- Matplotlib 绘图与可视化 一些控件的介绍和属性,反正就是乱七八糟的
这个链接里有下面这个图(图里还有超链接):https://matplotlib.org/3.1.1/api/artist_api.html#matplotlib.artist.Artist 各种图例: ...
- 基于注解的SpringAOP源码解析(二)
在上篇文章 中我们搭建了一个阅读源码的demo工程,然后简单介绍了一下@EnableAspectJAutoProxy注解,这个注解最重要的功能就是为向Spring中注入了一个beanAnnotatio ...
- ObjC: 委托模式
转自:http://marshal.easymorse.com/tech/objc-%e5%a7%94%e6%89%98%e6%a8%a1%e5%bc%8f 在ObjC中,经常提到委托模式(deleg ...
- loadrunner安装和应用
问题:1.负载测试流程 2.为什么实现性能测试自动化 3.设置场景 (场景定义) 4.事物响应时间,吞吐量和吞吐率,正在运行vuser,windows资源,每秒点击次数,每秒http响应数. 5.i ...
- 关于ORACLE图形化安装过程中出现的竖线的处理办法
这种情况上传个jre 并指定下就好了 ~/database/runInstaller -jreLoc /usr/local/jre1.8.0_191/
- LDA-作为线性判别 分类器 推导
LDA, 即 Linear Discriminant Analysis, 中文翻译为, 线性判别分析. 比较有趣的一点是:LDA 既可以直接用作分类算法, 也可作为特征降维的方法. 给人感觉, 这是将 ...
- Kotlin开发springboot项目(二)
Kotlin开发springboot项目(二) 中文学习网站: https://www.kotlincn.net/ 研究一下kotlin的demo: https://github.com/JetBra ...
- Java的自动拆装箱与Integer的缓存机制
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10832303.html 一:基本类型与包装类型 我们知道,Java有8大基本数据类型,4整2浮1符1 ...
- brew安装mongodb报错Error: No available formula with the name 'mongodb'
原因:MongoDB不再是开源的了,并且已经从Homebrew中移除 #43770 设定: $ brew tap mongodb/brew 安装: $ brew install mongodb-co ...
- 目标检测论文解读7——YOLO v2
背景 YOLO v1检测效果不好,且无法应用于检测密集物体. 方法 YOLO v2是在YOLO v1的基础上,做出如下改进. (1)引入很火的Batch Normalization,提高mAP和训练速 ...