关于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中的使用记录的更多相关文章

  1. (14)ASP.NET Core 中的日志记录

    1.前言 ASP.NET Core支持适用于各种内置和第三方日志记录提供应用程序的日志记录API.本文介绍了如何将日志记录API与内置提供应用程序一起使用. 2.添加日志提供程序 日志记录提供应用程序 ...

  2. 在 .NET Core 中使用 DiagnosticSource 记录跟踪信息

    前言 最新一直在忙着项目上的事情,很久没有写博客了,在这里对关注我的粉丝们说声抱歉,后面我可能更多的分享我们在微服务落地的过程中的一些经验.那么今天给大家讲一下在 .NET Core 2 中引入的全新 ...

  3. ASP.NET Core 中的日志记录

    目录 内置日志的使用 使用Nlog 集成ELK 参考 内置日志的使用 Logger 是 asp .net core 的内置 service,所以我们就不需要在ConfigureService里面注册了 ...

  4. TransactionScope事务处理方法介绍及.NET Core中的注意事项 SQL Server数据库漏洞评估了解一下 预热ASP.NET MVC 的VIEW [AUTOMAPPER]反射自动注册AUTOMAPPER PROFILE

    TransactionScope事务处理方法介绍及.NET Core中的注意事项   作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/10170712.ht ...

  5. ASP.NET Core Web 应用程序系列(五)- 在ASP.NET Core中使用AutoMapper进行实体映射

    本章主要简单介绍下在ASP.NET Core中如何使用AutoMapper进行实体映射.在正式进入主题之前我们来看下几个概念: 1.数据库持久化对象PO(Persistent Object):顾名思义 ...

  6. Dotnet Core中使用AutoMapper

    官网:http://automapper.org/ 文档:https://automapper.readthedocs.io/en/latest/index.html GitHub:https://g ...

  7. ASP.NET CORE 中使用AutoMapper进行对象映射

    ASP.NET CORE 中使用AutoMapper进行对象映射 1.什么是AutoMapper? AutoMapper是基于对象到对象约定的映射工具,常用于(但并不仅限制于)把复杂的对象模型转为DT ...

  8. .NET Core中使用AutoMapper

    何为AutoMapper AutoMapper是对象到对象的映射工具.在完成映射规则之后,AutoMapper可以将源对象转换为目标对象. 安装AutoMapper 这里我们在NuGet中下载安装Au ...

  9. .net core中automapper的使用

    automapper 是将两个类中的相同字段进行映射,也可以指定字段进行映射:将 UserDao的id 映射为 User 的age CreateMap<UserDao, User>() . ...

随机推荐

  1. docker保存对容器的修改

    我有一个Ubuntu的镜像用命令docker run -i -t -v /home/zzq/app/:/mnt/software/ 0ef2e08ed3fa /bin/bash登录进去发现没vi编辑器 ...

  2. c语言程序设计案例教程(第2版)笔记(三)—变量、结构体

    零散知识点: 变量        :C语言中,每个变量必须先定义后引用.所谓变量存在是指系统为这个变量分配一块存储空间,此时对变量的操作,就是对变量所对应的存储空间中存放的数据进行操作.人们将变量占据 ...

  3. Java中关键字continue、break和return的区别

    Java中关键字continue.break和return的区别: continue:跳出本次循环继续下一次循环 break:   跳出循环体,继续执行循环外的函数体 return:   跳出整个函数 ...

  4. [转]广义正交匹配追踪(gOMP)

    广义正交匹配追踪(Generalized OMP, gOMP)算法可以看作为OMP算法的一种推广,由文献[1]提出,第1作者本硕为哈工大毕业,发表此论文时在Korea University攻读博士学位 ...

  5. 暑期训练狂刷系列——Hdu 3506 Largest Rectangle in a Histogram (单调栈)

    题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=1506 题目大意: 给出一个数列An,问以Ai为最小值的区间内有多少个元素? 解题思路: 手动模拟一个 ...

  6. 51nod1099 任务执行顺序

    #include <bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int r,o; int s ...

  7. 积分图像 分类: 图像处理 Matlab 2015-06-06 10:30 149人阅读 评论(0) 收藏

    积分图像(integral image)是一种快速计算矩形区域之和的数据结构,常利用它对算法进行加速.积分图像中处的值是原始灰度图像的左上角与当前点所围成的矩形区域内所有像素点的灰度值之和,即: 其中 ...

  8. Latex排版工具的使用(一) 分类: Latex 2014-06-14 22:52 448人阅读 评论(0) 收藏

    使用Latex可以排版出漂亮的论文,尤其适合对含有数学公式论文的排版. 下面编写第一Latex源文件,实现对两个数学公式的排版: 新建文件first.tex: \documentclass{artic ...

  9. XmlDocument

    XmlDocument增删改查. using System; using System.Collections.Generic; using System.ComponentModel; using ...

  10. How do I get started with Node.js

    From: http://stackoverflow.com/questions/2353818/how-do-i-get-started-with-node-js Tutorials NodeSch ...