返回顶部
关闭软件导航
位置:首页 > 资讯 > 其他>AutoMapper在asp.netcore中的使用

  automapper 是.net 项目中针对模型之间转换映射的一个很好用的工具,不仅提高了开发的效率还使代码更加简洁,当然也是开源的,https://github.com/AutoMapper,这不多做介绍,详细看,官网下面是介绍它在 .net core 项目中的使用

  1. 首先当然先引用 AutoMapper

  - 你可以在NuGet中直接输入AutoMapper直接引用,也可以在控制台输入 Install-Package AutoMapper

  2. 其次我们要引用 AutoMapper 对依赖注入的一个扩展 Extensions.Microsoft.DependencyInjection

  - 由于.net core 中自带依赖注入,我们要用DI来注册我们的Mapper类

  3. 在Startup 类中找到 ConfigureServices 方法 引用我们扩展中的方法

  4. 在项目中创建一个映射配置类,可以项目中的任何文件夹下,扩展代码中是通过反射找出程序集中的所有映射配置

  public class UserProfile : Profile

  {

  public UserProfile()

ASPCMS批量上传内容

  {

  // Add as many of these lines as you need to map your objects

  CreateMap<UserInfo, UserInfoModel>();

  CreateMap<UserInfoModel, UserInfo>();

  }

  }

  5. 在 Controller中用构造函数注入 IMapper

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  private readonly IMapper _mapper;

  public UserInfoController(IUserInfoService userInfoService,

  IUnitOfWork unitOfWork, ILogger<UserInfoController> logger, IMapper mapper)

  {

  _unitOfWork = unitOfWork;

  _userInfoService = userInfoService;

ASPCMS批量删除关键词   _logger = logger;

  _mapper = mapper;

  }

  6. 最后就可以使用mapper

  1

  2

  3

  4

  5

  6

  7

  8

  9

ASPCMS批量添加栏目

  10

  11

ASPCMS批量添加产品   12

  13

  14

  15

  16

  17

  public IActionResult AddUser(UserInfoModel model)

  {

  if (!ModelState.IsValid)

ASPCMS批量更新文章   {

  return View(model);

  }

  var user = _mapper.Map<UserInfo>(model); //映射

  var repoUser = _unitOfWork.GetRepository<UserInfo>();

  repoUser.Insert(user);

  var r = _unitOfWork.SaveChanges();

  //_userInfoService.AddUserInfo();

  return Json(new MgResult()

  {

  Code = r > 0 ? 0 : 1,

  Msg = r > 0 ? "ok" : "SaveChanges失败!"

  });

  }

如果您觉得 AutoMapper在asp.netcore中的使用 这篇文章对您有用,请分享给您的好友,谢谢
文章地址:https://www.tianxianmao.com/article/other/AutoMapperzaspnetcorezdsy.html
解放双手无尽可能,有问题添加天线猫微信