AutoMapper的使用在NET core中的使用记录
关于AutoMapper的用处以及主要便利指出请参考官方文档,本文章仅记录自己使用的过程及代码;
安装
在项目中涉及到的类包括:Account,AccountCondition,AutoMapperConfig
代码如下:
public class Account
{
[Column(Name = "id", IsKey = true)]
public int Id { get; set; }
[Column(Name = "user_name")]
public string Name { get; set; }
[Column(Name = "user_email")]
public string Email { get; set; }
[Column(Name = "pass_word")]
public string PassWord { get; set; }
[Column(Name = "address")]
public string Address { get; set; }
[Column(Name = "phone_no")]
public string Phone { get; set; }
[Column(Name="Imageurl")]
public string ImagerUrl { get; set; }
[Column(Name = "wechat_id")]
public string WechatId{get;set;}
}
public class AccountCondition
{
public string Email { get; set; }
public string Name { get; set; }
public int PageSize { get; set; } = ;
public int PageNum { get; set; } = ;
public int Offset { get; set; }
public bool NeedPager { get; set; }
}
public class AutoMapperConfig:Profile
{
public AutoMapperConfig()
{
CreateMap<Account, AccountCondition>()
.ForMember(d => d.Email, option => option.MapFrom(s => s.Name))
.ForMember(d => d.Name, option => option.MapFrom(s => s.Email));
}
}
在startup中的 ConfigureServices方法中 中添加如下代码:
' services.AddAutoMapper(cfg=>cfg.AddProfile<AutoMapperConfig>());
无需做其他配置;
在controller 中配置如下:
[Route("api/[controller]")]
public class AccountController : BaseController
{
IAccountService _accountService;
IMapper _mapper;
//private IHostingEnvironment _hostingEnvironment;
//private readonly IConfiguration _config;
public AccountController(IAccountService accountService, IMapper mapper,
IHostingEnvironment hostingEnvironment, IConfiguration config) : base(hostingEnvironment, config)
{
_accountService =accountService;
_mapper = mapper;
}
[Route("test")]
[HttpGet]
public IActionResult Test()
{
var account = new Account()
{
Active = "Y",
Name = "ken",
Email = "1234@123.com",
};
var result = _mapper.Map<AccountCondition>(account);
return Ok(result);
}
}
其中使用的对象映射如: var result = _mapper.Map<AccountCondition>(account);
测试结果:如下
{
"email": "ken",
"pageSize": 5,
"pageNum": 1,
"offset": 0,
"needPager": false
}
AutoMapper的使用在NET core中的使用记录的更多相关文章
- (14)ASP.NET Core 中的日志记录
1.前言 ASP.NET Core支持适用于各种内置和第三方日志记录提供应用程序的日志记录API.本文介绍了如何将日志记录API与内置提供应用程序一起使用. 2.添加日志提供程序 日志记录提供应用程序 ...
- 在 .NET Core 中使用 DiagnosticSource 记录跟踪信息
前言 最新一直在忙着项目上的事情,很久没有写博客了,在这里对关注我的粉丝们说声抱歉,后面我可能更多的分享我们在微服务落地的过程中的一些经验.那么今天给大家讲一下在 .NET Core 2 中引入的全新 ...
- ASP.NET Core 中的日志记录
目录 内置日志的使用 使用Nlog 集成ELK 参考 内置日志的使用 Logger 是 asp .net core 的内置 service,所以我们就不需要在ConfigureService里面注册了 ...
- TransactionScope事务处理方法介绍及.NET Core中的注意事项 SQL Server数据库漏洞评估了解一下 预热ASP.NET MVC 的VIEW [AUTOMAPPER]反射自动注册AUTOMAPPER PROFILE
TransactionScope事务处理方法介绍及.NET Core中的注意事项 作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/10170712.ht ...
- ASP.NET Core Web 应用程序系列(五)- 在ASP.NET Core中使用AutoMapper进行实体映射
本章主要简单介绍下在ASP.NET Core中如何使用AutoMapper进行实体映射.在正式进入主题之前我们来看下几个概念: 1.数据库持久化对象PO(Persistent Object):顾名思义 ...
- Dotnet Core中使用AutoMapper
官网:http://automapper.org/ 文档:https://automapper.readthedocs.io/en/latest/index.html GitHub:https://g ...
- ASP.NET CORE 中使用AutoMapper进行对象映射
ASP.NET CORE 中使用AutoMapper进行对象映射 1.什么是AutoMapper? AutoMapper是基于对象到对象约定的映射工具,常用于(但并不仅限制于)把复杂的对象模型转为DT ...
- .NET Core中使用AutoMapper
何为AutoMapper AutoMapper是对象到对象的映射工具.在完成映射规则之后,AutoMapper可以将源对象转换为目标对象. 安装AutoMapper 这里我们在NuGet中下载安装Au ...
- .net core中automapper的使用
automapper 是将两个类中的相同字段进行映射,也可以指定字段进行映射:将 UserDao的id 映射为 User 的age CreateMap<UserDao, User>() . ...
随机推荐
- vue按需加载组件,异步组件
说实话,我一开始也不知道什么叫按需加载组件,组件还可以按需加载???后来知道了 学不完啊...没关系,看我的 按需加载组件,或者异步组件,主要是应用了component的 is 属性 template ...
- nginx_uWSGI_django_virtualenv_supervisor发布web服务器
nginx_uWSGI_django_virtualenv_supervisor发布web服务器 nginx 导论 123456789101112131415161718192021222324252 ...
- [BZOJ3245]最快路线
Description 精明的小R每每开车出行总是喜欢走最快路线,而不是最短路线.很明显,每条道路的限速是小R需要考虑的关键问题.不过有一些限速标志丢失了,于是小R将不知道能开多快.不过有一个合理的方 ...
- 使用VS2015打包winform程序安装包简单方法(不需要InstallShield)
转载自: DGPLM博客 使用VS2015打包winform程序安装包简单方法(不需要InstallShield)
- 编译原理 LR分析(主要是LR(0)分析)
一.LR分析的基本原理 1.LR分析的基本思想 LR方法的基本思想就是,在规范归约的过程中,一方面要记住已移进和归约出的整个字符串,也就是说要记住历史:一方面能够根据所用的产生式的推测未来可能碰到的输 ...
- magento 自建插件通道服务
首先建立如下的目录结构 在channel.xml中如此写上 <channel> <name>local</name> <uri>http://local ...
- Android Dialogs(2)最好用DialogFragment创建Dialog
Creating a Dialog Fragment You can accomplish a wide variety of dialog designs—including custom layo ...
- ORA-14074: partition bound must collate higher than that of the last partition
There is a error happen in crotab: CREATE parttion report ORA-14074:ORA-14074: partition bound must ...
- MYSQL5.7 忘记ROOT密码/初始化ROOT密码
编辑my.cnf允许空密码登录 [root@7Core ~]# vi /etc/my.cnf #在[mysqld]下加入一行 skip-grant-tables=1 重新启动Mysql服务 [root ...
- 文件及文件的操作-读、写、追加的t和b模式
1.什么是文件? 文件是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位. 文件的操作核心:读和写 对文件进行读写操作就是向操作系统发出指令,操作系统将用户或者应用程序对文件的读写操作转换为具体的 ...