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>() . ...
随机推荐
- the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf
一:开始Nginx的SSL模块 1.1 Nginx如果未开启SSL模块,配置Https时提示错误 原因也很简单,nginx缺少http_ssl_module模块,编译安装的时候带上--with-htt ...
- 牛客小白月赛5-J-时间(time) (简单模拟)
题目描述 Apojacsleam是一个喜欢特殊时刻的人. 他定义了一个时刻,若电子表显示ab:ba(24小时制),则该时刻为“回文时刻”(可以有前导零).例如00:00就是回文时刻. 给定一个时刻,求 ...
- vue watch监听对象及对应值的变化
data:{ a:1, b:{ value:1, type:1, } }, watch:{ a(val, oldVal){//普通的watch监听 console.log("a: " ...
- YUM报错及解决办法
[root@xuegod60 ~]# yum clean all Loaded plugins: product-id, refresh-packagekit, security, subscript ...
- CSS3实现边框线条动画特效
<div class="box-line"></div> CSS代码 .box-line, .box-line::before, .box-line::af ...
- SQL Case 语句的使用
-----简单case 使用 select 学号,姓名, case 专业 when '金融系' then '1' when '材料成型及控制工程' then '2' else '3' end from ...
- win7打开网络看不到局域网的其他电脑
双击打开桌面上的“网络”,在打开的窗口中看不到局域网的其他电脑/计算机.以前都可以看到的.可能是没有开启网络发现的原因,可是我并没有关闭网络发现.不知,怎么回事? Windows7查看网络邻居要开启g ...
- Android图片压缩,不失真,上线项目
当然了,图片压缩是利用了libjpeg库的基础上,牛逼的同学可以自行生成so.jar.在此给出一个链接: http://www.cnblogs.com/hrlnw/p/4403334.html 在生成 ...
- ES6语法糖集锦
sublime3安装Es6插件 javascriptNext,然后安装即可 JavaScriptNext - ES6 Syntax()高亮插件 -------------------------- ...
- vb,wps,excel 提取括号的数字
Sub 抽离数字() Dim hang Range("h1").Select Columns("E:F").Select Selection.Clear Ran ...