说明:以下是使用过程中看到的其他博主写的,地址如下:

地址一:https://cloud.tencent.com/developer/article/1395155

地址二:https://www.cnblogs.com/yanwuming/p/9609887.html

我的项目是netcore SDK2.2版本,开发软件vs2017;

首先告诉大家,很不幸的是:上面两种方法都试过了,但是都失败了,不知道是不是我自己哪里写错了,或者人品,或者状态不对吧,哎!欲哭无泪~~~~~

而且我这边在使用的时候,提示已经弃用了,不知道有没有遇到跟我同样问题的朋友。

当时心里也是很不爽的,好吧,后面查阅资料,这样写就OK了:O(∩_∩)O哈哈~
services.AddAutoMapper(typeof(ServiceProfile));
ServiceProfile.cs是我写的一个测试类,继承Profile,代码如下:
  public class ServiceProfile : Profile
{
public ServiceProfile()
{
CreateMap<OrderInfo, UserInfoDto>()
.ForMember(des=>des.UserName,opt=>opt.MapFrom(src=>src.Name))
.ForMember(des=>des.CreateTime,opt=>opt.MapFrom(src=>src.CreateTime.ToString("yyyy-MM-dd hh:mm:ss")))
;
}
}

  

有两个测试类实体OrderInfo和UserInfoDto,这两个就随便写了,大家可以自行测试!

最后,使用时如下:

 private readonly IQueryBll queryBll;
private IMapper mapper;
public MongoQueryController(IQueryBll queryBll, IMapper mapper) { this.queryBll = queryBll;
this.mapper = mapper;
}
public IActionResult Index()
{
return View();
} [HttpGet]
[HttpPost]
public async Task<List<UserInfoDto>> QueryByName(string userName) {
if (string.IsNullOrEmpty(userName)) {
return new List<UserInfoDto>();
} var res = await this.queryBll.Query(userName);
return this.mapper.Map<List<OrderInfo>, List<UserInfoDto>>(res);
}

 结果居然成功了:

数据库测试数据:

结果:

总结一下,就3步,不知道是不是新的版本更好使用了吗;

第一步:安装引用

install-package AutoMapper

install-package AutoMapper.Extensions.Microsoft.DependencyInjection

第二步:注册

在StartUp.cs 的ConfigureServices方法中注册:

services.AddAutoMapper(typeof(ServiceProfile));  //ServiceProfile为你Mapper的类

第三步:调用

属性/构造函数(测试过了,这两种调用都可以) 注入调用(如上实例)。

不知道大家发现没有,这样写还有一个弊端,就是,当有多个l类似ServiceProfile.cs时,我们难道要一个一个写吗?这样岂不是太累,而且容易忘记,应该有更好的方法,不过目前还没有写对,大家如果有好的建议感谢大家留言探讨;

上述“地址一”的大神其实写的就是那个意思了,反射找到Profile类型,但是我这边不知道怎么的没有成功,有好方法的希望大家一起探讨!

												

netcore使用AutoMapper的更多相关文章

  1. Asp.NetCore之AutoMapper进阶篇

    应用场景 在上一篇文章--Asp.NetCore之AutoMapper基础篇中我们简单介绍了一些AutoMapper的基础用法以及如何在.NetCore中实现快速开发.我相信用过AutoMapper实 ...

  2. Asp.NetCore之AutoMapper基础篇

    应用场景 现在由于前后端技术的分离,后端程序员在使用ORM框架开发后台API接口的时候,往往会将数据库的"数据模型"直接提供给前端.而大多数时候,可能这些数据并不能够满足前端展示的 ...

  3. .NetCore 使用AutoMapper

    添加引用 AutoMapper AutoMapper.Extensions.Microsoft.DependencyInjection 注册服务 services.AddAutoMapper(); 配 ...

  4. AutoMapper在asp.netcore中的使用

    # AutoMapper在asp.netcore中的使用  automapper 是.net 项目中针对模型之间转换映射的一个很好用的工具,不仅提高了开发的效率还使代码更加简洁,当然也是开源的,htt ...

  5. NetCore+AutoMapper多个对象映射到一个Dto对象

    目录 一. 定义源映射类和被映射类DTO二.注入AutoMapper三.配置映射四.写测试 一.定义源映射对象 为了体现AutoMapper映射特性,在SocialAttribute中的Name属性没 ...

  6. NetCore AutoMapper的封装

     需要引用AutoMapper的Nuget包  如果需要忽略某个字段就在字段上面打标签如下:  [IgnoreMap] public string IgnoreValue { get; set; } ...

  7. netcore 2.2 封装 AutoMapper

    在上篇中我们通过创建一个类并继承autoMapper的Profile类 public class Mappings : Profile { public Mappings() { CreateMap& ...

  8. netcore 2.2 使用 AutoMapper 实现实体之间映射

    一.什么是AutoMapper? AutoMapper是一个简单的对象映射框架(OOM),将一个对象映射到另一个对象. 二.AutoMapper的好处 以前的时候我们将DTO对象转换为Model对象时 ...

  9. .NetCore学习笔记:四、AutoMapper对象映射

    什么是AutoMapper?AutoMapper是一个简单的小型库,用于解决一个看似复杂的问题 - 摆脱将一个对象映射到另一个对象的代码.这种类型的代码是相当沉闷和无聊的写,所以为什么不发明一个工具来 ...

随机推荐

  1. AtCoder Regular Contest 083 E - Bichrome Tree

    题目传送门:https://arc083.contest.atcoder.jp/tasks/arc083_c 题目大意: 给定一棵树,你可以给这些点任意黑白染色,并且赋上权值,现给定一个序列\(X_i ...

  2. MVC模式到传统风格的Spring MVC

    现在我们要做个简单的基于servlet的MVC的模型,我们要有一个Product要从表单处获取. MVC中的M是模型,V是视图,C是控制器.视图负责应用的展示,模型封装了数据和业务逻辑,控制器负责接收 ...

  3. python函数基础(3)

    第1章 编码补充 1.1 字符编码对照表 1.2 编码特性 1.4 encode/decode第2章 集合 2.1 特点 2.2 [重点]作用:去重 2.3 常用操作 2.3.1 删除 2.3.2 交 ...

  4. Windows API函数大全二

    4. API之打印函数 AbortDoc 取消一份文档的打印 AbortPrinter 删除与一台打印机关联在一起的缓冲文件 AddForm 为打印机的表单列表添加一个新表单 AddJob 用于获取一 ...

  5. 【经验总结】关于使用某些第三方插件库元素设置display:none后重新show不显示的问题;(display、opacity、宽高0的使用场景)

    display:none 直接取消元素所占用的位置(但是元素还是存在的),后面元素看他就相当于不存在了: opacity:0  隐藏,但是其依旧占用位置: height.width:0 和displa ...

  6. 手把手教写devops全栈自动化工具(django2.1)

    简单介绍一下自己之前写的一个全栈项目,框架用的是django2.1版本 主要对paramiko模块,salstack的API二次开发. 核心组件包括:MQ,mysql,websocket,redis, ...

  7. EMAC IP 核

    在有线连接的世界里,以太网(Ethernet)无所不在.以太网具有各种速度模式.接口方式.以及灵活的配置方式.现在的以太网卡都是10/100/1000Mbps自适应网卡.以太网的物理层(PHY)通常使 ...

  8. 【HEVC帧间预测论文】P1.3 Fast Inter-Frame Prediction Algorithm of HEVC Based on Graphic Information

    基于图形信息的HEVC帧间预测快速算法/Fast Inter-Frame Prediction Algorithm of HEVC Based on Graphic Information <H ...

  9. java nio 读取大文件

    package com.yao.bigfile; import java.io.File; import java.io.IOException; import java.io.RandomAcces ...

  10. https://www.runoob.com/python/python-variable-types.html

    https://www.runoob.com/python/python-variable-types.html