AutoMapper 的使用
简单用法可参考: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 的使用相关推荐
- [AutoMapper]反射自动注册AutoMapper Profile
AutoMapper 帮我我们方便管理物件跟物件之间属性值格式转换 模型转换 这里有两个类别 UserInfoModel 当作我们从DB捞取出来模型资料 public class UserInfoMo ...
- AutoMapper用法
AutoMapper是对象到对象的映射工具.在完成映射规则之后,AutoMapper可以将源对象转换为目标对象. 作者:齐飞 原文:http://www.qeefee.com/article/auto ...
- java automapper 使用_19.AutoMapper 之开放式泛型(Open Generics)
开放式泛型(Open Generics) AutoMapper可以支持开放式泛型的映射.为开放式泛型创建映射: public class Source { public T Value { get; ...
- C# AutoMapper的简单扩展
AutoMapper可以很方便的将一个实体的属性值转化给另一个对象.这个功能在我们日常的编码中经常会遇到.我将AutoMapper的一些基本映射功能做成扩展方法,在编码中更方便使用. using Sy ...
- 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](三)
前言 上一篇<一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](二)>我们通过如下操作: 创建实体及工具类 创建Re ...
- automapper java 有什么_对象映射工具AutoMapper介绍
AutoMapper是用来解决对象之间映射转换的类库.对于我们开发人员来说,写对象之间互相转换的代码是一件极其浪费生命的事情,AutoMapper能够帮助我们节省不少时间. 一. AutoMapper ...
- automapper
1.https://www.cnblogs.com/youring2/p/automapper.html 这个讲知识点, 理解automapper 的 概念. 解释的不错,但是有些技术已经过时了,即已 ...
- AutoMapper 入门
简述 开篇,介绍一下AutoMapper,欢迎. AutoMapper是什么:通过预先配置,将两个不同类型的对象进行转换的工具. AutoMapper干什么用:更方便的转换两个不同类型的对象. Aut ...
- C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用
前言:前篇搭建了下WCF的代码,就提到了DTO的概念,对于为什么要有这么一个DTO的对象,上章可能对于这点不太详尽,在此不厌其烦再来提提它的作用: 从安全上面考虑,领域Model都带有领域业务,让Cl ...
- AutoMapper入门使用
AutoMapper入门使用 在应用开发的过程中,首先要了解整个系统中各个系统的组件的作用,然后了解系统的工作流(workflow),最后需要梳理一遍数据流(dataflow),而在整理数据流的过程中 ...
最新文章
- 死在“风口上的猪”人工智能初创企业倒闭的原因分析
- python 字典的值可以为集合吗_转:Python字典与集合操作总结
- 分布式事务原理及实战seata(转自微信公众号 终码一生 )
- antd 中table上加不同字体颜色_字体渲染系统!微软终于决定优化Win10字体模糊问题...
- java第二周学习总结
- 《零基础看得懂的C语言入门教程 》——(九)C语言二维数组与循环嵌套
- junit编写测试代码_编写数据访问代码测试-不测试框架
- 阿里开源支持10万亿模型的自研分布式训练框架EPL(EasyParallelLibrary)
- 判断Logger级别是否开启的方法
- 夺命雷公狗---DEDECMS----14dedecms首页导航条的完成
- 什么是java socket_java 网络编程,Socket编程
- 大学生心理健康管理系统
- java 输入流详解_java输入输出流详解
- 游戏软件测试学什么条件,游戏测试工程师岗位的工作内容
- The eighth of Word-Day
- C语言贪心算法——找钱
- 【万里征程——Windows App开发】使用Toast通知
- 赵小楼《天道》《遥远的救世主》问答集(5)每一条评论都是一个独立意识所展现的相,在这是用文字问答的形式呈现出来的相
- HTTP协议个人总结
- 大数据早报:谷歌Cloud Natural Languages API推新技术 全球三分之二的人口通过移动设备上网(9.21)