当前位置: 首页 > news >正文

asp.net core webapi------3.AutoMapper的使用

1.nuget 安装程序集

安装AutoMapper和AutoMapper.Extension.Microsoft.DependencyInjection

2.配置映射关系

新增类文件,在类里面配置映射关系

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AutoMapper;
using Models;
using SmartFactoryCommon;namespace SmartFactoryBusinessInterface
{public class AutoMapperConfigs : Profile{public AutoMapperConfigs(){CreateMap<SystemLog,SystemLogDto>().ReverseMap();CreateMap<PagingData<SystemLog>,PagingData<SystemLogDto>>().ReverseMap();}}
}

3.ioc配置映射关系生效

在Program.cs中配置映射关系

builder.Services.AddAutoMapper(typeof(AutoMapperConfigs));

4.注入Mapper,map映射

本案例写在controller层,映射对象分别为SystemLog、SystemLogDto

using System.Data.SqlClient;
using AutoMapper;
using log4net;
using Microsoft.AspNetCore.Mvc;
using Models;
using SmartFactoryBusinessInterface;
using SmartFactoryCommon;
using SqlSugar;namespace SmartFactoryApi.Controllers
{/// <summary>/// 框架默认的控制器/// </summary>[ApiController][Route("[controller]")]public class LogController : ControllerBase{private readonly ILogger<LogController> _logger;private readonly ISqlSugarClient _IsqlSugarClient;private readonly IBaseServices _baseServices;//依赖注入AutoMapperprivate readonly IMapper _Imapper;//构造函数注入public LogController(ILogger<LogController> logger,ISqlSugarClient IsqlSugarClient,IBaseServices baseServices, IMapper imapper){_logger = logger;_IsqlSugarClient = IsqlSugarClient;_baseServices = baseServices;_Imapper = imapper;}/// <summary>/// 日志分页查询/// </summary>/// <param name="pageindex">当前第几页</param>/// <param name="pagesize">每页几行数据</param>/// <returns></returns>[HttpGet("{pageindex:int}/{pagesize:int}")]public IActionResult logPage(int pageindex, int pagesize){_logger.LogInformation($"logPage开始执行。。。。 时间:{DateTime.Now}");int totalCount = 0;// 业务逻辑//List<SystemLog> page = _sqlSugarClient.Queryable<SystemLog>().ToPageList(pageindex, pagesize,ref totalCount);PagingData<SystemLog> page = _baseServices.QueryPage<SystemLog>(c=>true,pagesize,pageindex,s=>s.Id,true);//_Imapper.Map方法做映射,将PagingData<SystemLog>转换为PagingData<SystemLogDto>>对象PagingData<SystemLogDto> pageDto = _Imapper.Map<PagingData<SystemLog>, PagingData<SystemLogDto>>(page);return new JsonResult(pageDto);}}
}

http://www.dtcms.com/a/585904.html

相关文章:

  • CCF LMCC人工智能大模型认证 青少年组 第一轮样题
  • 百度搜索不到asp做的网站全球知名购物网站有哪些
  • Android Studio 中 Gradle 同步慢 / 失败:清理、配置全攻略
  • Makefile极简指南
  • 信息系统项目管理师--论文case
  • win7 iis网站无法显示该页面网站上线准备
  • 华为防火墙基础功能详解:构建网络安全的基石
  • 北京网站定制设计开发公司宁波专业定制网站建设
  • 网站的后台怎么做调查问卷设计之家广告设计
  • WebRtc语音通话前置铃声处理
  • 使用XSHELL远程操作数据库
  • 淘宝客网站域名宜昌做网站哪家最便宜
  • 微信小程序中使用 MQTT 实现实时通信:技术难点与实践指南
  • Java computeIfAbsent() 方法详解
  • 做网站市场报价免费企业网站开源系统
  • 天元建设集团有限公司企业代码东莞做网站seo
  • Web前端摄像头调用安全性分析
  • 绵阳网站建设怎么做免费查公司
  • std之list
  • 前端:前端/浏览器 可以录屏吗 / 实践 / 录制 Microsoft Edge 标签页、应用窗口、整个屏幕
  • 做网站像美团一样多少钱中国最新军事消息
  • 软件项目管理实验报告(黑龙江大学)
  • 网络建设需求台州做网站优化
  • PostgreSQL一些概念特性
  • 宁夏建设厅网站6青岛网站建设公司好找吗
  • 社交营销可以用于网站制作行业吗怎样做建网站做淘客
  • 玩转Rust高级应用 如何让让运算符支持自定义类型,通过运算符重载的方式是针对自定义类型吗?
  • 基于Keras的MNIST手写数字识别卷积神经网络设计与实现
  • 百度资料怎么做网站型云网站建设
  • IP配置的基本要求