简单用法可参考:https://www.cnblogs.com/vaevvaev/p/7080423.html

首先需要在NuGet中引用AutoMapper的类库

install-package   AutoMapper
install-package   AutoMapper.Extensions.Microsoft.DependencyInjection

然后创建好要进行转换的类

public class User
{public int ID { get; set; }public string Name { get; set; }
}
public class UserDto
{public int ID { get; set; }public string Name { get; set; }
}

然后再创建一个标志接口IProfile

internal interface IProfile{}

接下来创建一个类来继承AutoMapper的Profile类与实现刚才创建的标志接口IProfile,并且在构造函数中配置关系映射

 public class MyProfile: Profile,IProfile{public MyProfile(){CreateMap<User, UserDto>();CreateMap<UserDto, User>();}}

然后再创建一个类来注册关系映射

public class Mappings{public static void RegisterMappings(){//获取所有IProfile实现类var allType =Assembly.GetEntryAssembly()//获取默认程序集.GetReferencedAssemblies()//获取所有引用程序集.Select(Assembly.Load).SelectMany(y => y.DefinedTypes).Where(type => typeof(IProfile).GetTypeInfo().IsAssignableFrom(type.AsType()));foreach (var typeInfo in allType){var type = typeInfo.AsType();if (type.Equals(typeof(IProfile))){//注册映射Mapper.Initialize(y =>{y.AddProfiles(type); // Initialise each Profile classe});}}}}

从上面代码可以看出使用标志接口来判断注册映射类进行注册映射,

最后只需在Startup类的ConfigureServices方法中添加服务和将Mappings添加到中间件即可使用

 public void ConfigureServices(IServiceCollection services){services.AddAutoMapper();services.AddMvc();}
 public void Configure(IApplicationBuilder app, IHostingEnvironment env){Mappings.RegisterMappings();}

然后就可以使用automapper,

public class ValuesController : Controller{private IMapper _mapper { get; set; }public ValuesController([FromServices]IMapper mapper){this._mapper = mapper;}// GET api/values[HttpGet]public UserDto Get(){User user = new User(){ID = 1,Name = "狗娃"};var dto = Mapper.Map<User, UserDto>(user);return dto;}
}

因为core使用DI创建对象,所以只需添加构造函数即可。

AutoMapper 的使用相关推荐

  1. [AutoMapper]反射自动注册AutoMapper Profile

    AutoMapper 帮我我们方便管理物件跟物件之间属性值格式转换 模型转换 这里有两个类别 UserInfoModel 当作我们从DB捞取出来模型资料 public class UserInfoMo ...

  2. AutoMapper用法

    AutoMapper是对象到对象的映射工具.在完成映射规则之后,AutoMapper可以将源对象转换为目标对象. 作者:齐飞 原文:http://www.qeefee.com/article/auto ...

  3. java automapper 使用_19.AutoMapper 之开放式泛型(Open Generics)

    开放式泛型(Open Generics) AutoMapper可以支持开放式泛型的映射.为开放式泛型创建映射: public class Source { public T Value { get; ...

  4. C# AutoMapper的简单扩展

    AutoMapper可以很方便的将一个实体的属性值转化给另一个对象.这个功能在我们日常的编码中经常会遇到.我将AutoMapper的一些基本映射功能做成扩展方法,在编码中更方便使用. using Sy ...

  5. 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](三)

    前言 上一篇<一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](二)>我们通过如下操作: 创建实体及工具类 创建Re ...

  6. automapper java 有什么_对象映射工具AutoMapper介绍

    AutoMapper是用来解决对象之间映射转换的类库.对于我们开发人员来说,写对象之间互相转换的代码是一件极其浪费生命的事情,AutoMapper能够帮助我们节省不少时间. 一. AutoMapper ...

  7. automapper

    1.https://www.cnblogs.com/youring2/p/automapper.html 这个讲知识点, 理解automapper 的 概念. 解释的不错,但是有些技术已经过时了,即已 ...

  8. AutoMapper 入门

    简述 开篇,介绍一下AutoMapper,欢迎. AutoMapper是什么:通过预先配置,将两个不同类型的对象进行转换的工具. AutoMapper干什么用:更方便的转换两个不同类型的对象. Aut ...

  9. C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用

    前言:前篇搭建了下WCF的代码,就提到了DTO的概念,对于为什么要有这么一个DTO的对象,上章可能对于这点不太详尽,在此不厌其烦再来提提它的作用: 从安全上面考虑,领域Model都带有领域业务,让Cl ...

  10. AutoMapper入门使用

    AutoMapper入门使用 在应用开发的过程中,首先要了解整个系统中各个系统的组件的作用,然后了解系统的工作流(workflow),最后需要梳理一遍数据流(dataflow),而在整理数据流的过程中 ...

最新文章

  1. 死在“风口上的猪”人工智能初创企业倒闭的原因分析
  2. python 字典的值可以为集合吗_转:Python字典与集合操作总结
  3. 分布式事务原理及实战seata(转自微信公众号 终码一生 )
  4. antd 中table上加不同字体颜色_字体渲染系统!微软终于决定优化Win10字体模糊问题...
  5. java第二周学习总结
  6. 《零基础看得懂的C语言入门教程 》——(九)C语言二维数组与循环嵌套
  7. junit编写测试代码_编写数据访问代码测试-不测试框架
  8. 阿里开源支持10万亿模型的自研分布式训练框架EPL(EasyParallelLibrary)
  9. 判断Logger级别是否开启的方法
  10. 夺命雷公狗---DEDECMS----14dedecms首页导航条的完成
  11. 什么是java socket_java 网络编程,Socket编程
  12. 大学生心理健康管理系统
  13. java 输入流详解_java输入输出流详解
  14. 游戏软件测试学什么条件,游戏测试工程师岗位的工作内容
  15. The eighth of Word-Day
  16. C语言贪心算法——找钱
  17. 【万里征程——Windows App开发】使用Toast通知
  18. 赵小楼《天道》《遥远的救世主》问答集(5)每一条评论都是一个独立意识所展现的相,在这是用文字问答的形式呈现出来的相
  19. HTTP协议个人总结
  20. 大数据早报:谷歌Cloud Natural Languages API推新技术 全球三分之二的人口通过移动设备上网(9.21)

热门文章

  1. 解决win10一开机内存(8G)就占用70%多,查看任务管理器并没有占用内存很高的进程的问题
  2. matlab坐标旋转平移缩放,MATLAB实现RGB图像的平移、缩放和旋转
  3. 清默网络——动态访问列表
  4. 【源码】Set集合源码剖析
  5. 数据库SQL入门学习
  6. 思科配置成网站服务器,思科路由器的配置NTP服务器的基本方法
  7. 8月重要信息系统保护人员(CIIP-A)认证考试圆满结束
  8. 【javascript】收藏本站——添加到浏览器收藏夹
  9. java基础_题库详解
  10. 计算机视觉那些事 | 深度学习基础篇