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>() . ...
随机推荐
- Luogu P1197 [JSOI2008]星球大战 By cellur925
题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系. 某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通过特殊的以太隧 ...
- python中threading模块中最重要的Tread类
Tread是threading模块中的重要类之一,可以使用它来创造线程.其具体使用方法是创建一个threading.Tread对象,在它的初始化函数中将需要调用的对象作为初始化参数传入. 具体代码如下 ...
- logstash | logstash && logstash-input-jdbc 安装
Windows系统: 1.安装Logstash 1.1 进入官网下载zip包 [1] https://artifacts.elastic.co/ ...
- Android UI 设计规范
1. 基础常识 1.1 主流屏幕尺寸 标识 屏幕尺寸 hdpi 480 * 800 xhdpi 720 * 1280 xxhdpi 1080 * 1920 1.2 图标尺寸 标识 启动图标尺寸 菜单图 ...
- Boost1.6x+win7+VC2015编译
下载 通过boost官方网站, 或直接在source forge下载boost_1_6x_0. 可选包 Zlib library, 环境变量: ZLIB_SOURCE bzip2, 环境变量: BZI ...
- CMake学习笔记四:usb_cam的CMakeLists解析
最近在学习cmake,在完整看了<cmake实践>一书后,跟着书上例程敲了跑了一遍,也写了几篇相关读书笔记,算是勉强基本入门了.所以找了usb_cam软件包的CMakeLists.txt来 ...
- 水题 Codeforces Round #307 (Div. 2) A. GukiZ and Contest
题目传送门 /* 水题:开个结构体,rk记录排名,相同的值有相同的排名 */ #include <cstdio> #include <cstring> #include < ...
- 472 Concatenated Words 连接的单词
详见:https://leetcode.com/problems/concatenated-words/description/ C++: class Solution { public: vecto ...
- ASP.NET MVC+Bootstrap个人博客之文章打赏(六)
看到新浪微博.百度百家等等平台上都带有文章“打赏”功能,觉得很新鲜,于是也想在自己的博客中加入“打赏”功能. 当然,加入打赏功能并非是真的想要让别人打赏.因为只有那些真正能引起共鸣,发人深思,让人受益 ...
- 计算器Pro应用项目源码
本计算器实现了一些简单的功能,可能本身还存在一些缺陷,希望大家提建议,能够改进一下. 源码项目我已经上传到源码天堂那里了:http://code.662p.com/list/11_1.html < ...