一、Nuget安装AutoMapper、AutoMapper.Extensions.Microsoft.DependencyInjection
二、添加两个实体,分别为DTO类【SubmitDeviceNumberingDto】和实体类【DeviceArchives】
using System.ComponentModel.DataAnnotations;namespace Rili.DeviceArchive.Service.DeviceNumbering.Dto{ public class SubmitDeviceNumberingDto { /// <summary> /// 项目编号 /// </summary> public string ItemNo { get; set; } /// <summary> /// 部件 /// </summary> [Required(ErrorMessage = "部件不得为空")] public string Component { get; set; } /// <summary> /// 器件类别 /// </summary> [Required(ErrorMessage = "器件类别不得为空")] public string DeviceType { get; set; } /// <summary> /// 图号 /// </summary> [Required(ErrorMessage = "图号不得为空")] public string DrawingNo { get; set; } /// <summary> /// 作业 /// </summary> [Required(ErrorMessage = "作业不得为空")] public string Job { get; set; } /// <summary> /// 器件名称 /// </summary> [Required(ErrorMessage = "器件名称不得为空")] public string Name { get; set; } /// <summary> /// 规格 /// </summary> [Required(ErrorMessage = "规格不得为空")] public string Specifications { get; set; } /// <summary> /// 代换图号-作业 /// </summary> [Required(ErrorMessage = "代换图号-作业不得为空")] public string ChangeJob { get; set; } /// <summary> /// 分类(A类、B类、C类) /// </summary> [Required(ErrorMessage = "分类不得为空")] public string Classify { get; set; } /// <summary> /// 项目负责人 /// </summary> [Required(ErrorMessage = "项目负责人不得为空")] public string ProjectLeader { get; set; } /// <summary> /// 生产厂家或供应商 /// </summary> [Required(ErrorMessage = "生产厂家或供应商不得为空")] public string Supplier { get; set; } /// <summary> /// 取号备注 /// </summary> public string NumberingRemarks { get; set; } }}
using System;namespace Rili.DeviceArchive.Data.Model{ public class DeviceArchives { /// <summary> /// 主键Id /// </summary> public long Id { get; set; } /// <summary> /// 器件号 /// </summary> public string DeviceNo { get; set; } /// <summary> /// 项目编号 /// </summary> public string ItemNo { get; set; } /// <summary> /// 部件名称 /// </summary> public string Component { get; set; } /// <summary> /// 器件类别 /// </summary> public string DeviceType { get; set; } /// <summary> /// 图号 /// </summary> public string DrawingNo { get; set; } /// <summary> /// 作业 /// </summary> public string Job { get; set; } /// <summary> /// 名称 /// </summary> public string Name { get; set; } /// <summary> /// 规格 /// </summary> public string Specifications { get; set; } /// <summary> /// 代换图号-作业 /// </summary> public string ChangeJob { get; set; } /// <summary> /// 分类 /// </summary> public string Classify { get; set; } /// <summary> /// 项目负责人 /// </summary> public string ProjectLeader { get; set; } /// <summary> /// 生产厂家或供应商 /// </summary> public string Supplier { get; set; } /// <summary> /// 元器件可行性报告 /// </summary> public string FeasibilityReport { get; set; } /// <summary> /// 技术与试制协议 /// </summary> public string TechnicalAgreement { get; set; } /// <summary> /// 技术条件 /// </summary> public string TechnicalConditions { get; set; } /// <summary> /// 整机或工业运行试验 /// </summary> public string OperationTest { get; set; } /// <summary> /// 零部件质量鉴定委托报告 /// </summary> public string CommissionReport { get; set; } /// <summary> /// 器件使用通知 /// </summary> public string UseNotification { get; set; } /// <summary> /// 供应商评审及认可记录 /// </summary> public string ReviewRecords { get; set; } /// <summary> /// 认定书 /// </summary> public string LetterofVerification { get; set; } /// <summary> /// 器件完成情况(应用、取消) /// </summary> public string CompletionStatus { get; set; } /// <summary> /// 其它资料 /// </summary> public string OtherInformation { get; set; } /// <summary> /// 器件档案备注 /// </summary> public string DeviceRemarks { get; set; } /// <summary> /// 状态(取号、归档、作废、移交) /// </summary> public int? Status { get; set; } /// <summary> /// 移交人 /// </summary> public string Transferor { get; set; } /// <summary> /// 移交日期 /// </summary> public DateTime? TransferDate { get; set; } }}
三、配置 DTO 和实体映射类
using AutoMapper;using Rili.DeviceArchive.Data.Model;using Rili.DeviceArchive.Service.DeviceNumbering.Dto;namespace Rili.DeviceArchive.Service{ public class MapProfile:Profile { public MapProfile() { CreateMap<SubmitDeviceNumberingDto, DeviceArchives>(); } }}
四、Startup.cs中注入服务
services.AddAutoMapper(typeof(MapProfile));
五、调用

