AutoMapper在asp.netcore中的使用
来源:互联网 发布:php list each 编辑:程序博客网 时间:2024/05/22 16:06
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()
{
// 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;
_logger = logger;
_mapper = mapper;
}
6. 最后就可以使用mapper
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public IActionResult AddUser(UserInfoModel model)
{
if (!ModelState.IsValid)
{
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失败!"
});
}
原文:http://www.cnblogs.com/fighting2014/p/7954191.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
阅读全文
0 0
- AutoMapper在asp.netcore中的使用
- Nop- Automapper在Nopcommerce中的使用<五>
- Nop- Automapper在Nopcommerce中的使用<五>
- AutoMapper在的项目中的使用
- log4net 使用笔记(asp.netcore)
- AutoMapper在MVC中的运用01
- AutoMapper在MVC中的运用02
- AutoMapper在MVC中的运用03
- AutoMapper在MVC中的运用04
- AutoMapper在MVC中的运用05
- AutoMapper在MVC中的运用06
- AutoMapper在MVC中的运用07
- AutoMapper在MVC中的运用小结
- 在.net core中使用AutoMapper
- AutoMapper使用
- AutoMapper使用
- Automapper使用
- AutoMapper使用示例(一)【结合ASP.NET MVC4 】
- 2017 Top 10 Web 应用安全威胁,你的企业正在经历哪些?
- 图集修改
- 函数指针2017/12/2C语言学习内容总结
- 深度学习
- 2.定义一个5位整数,求每一位上整数的和。
- AutoMapper在asp.netcore中的使用
- CentOS安装Hadoop
- 从ThoughtWorks 2017技术雷达看微软技术
- Net Core下多种ORM框架特性及性能对比
- linux配置静态ip
- 几个排序算法的Java实现
- CUDA学习笔记(1)
- 最新动态
- jfinall 初学基础