[TOC]
目的
C
[HttpPost]
public IActionResult Add(UserDto UserDto)
{
Users user = new Users();
user.Id = UserDto.Id;
user.Name = UserDto.Name;
user.Password = UserDto.Password;
user.Phone = UserDto.Phone;
user.Gender = UserDto.Gender;
user.DepartmentId = UserDto.DepartmentId;
user.CreateId = GetUserID();
DbContext.Set<Users>().Add(user);
DbContext.SaveChanges();
return Ok("完成输入!");
}操作
1.安装 AutoMapper.Extensions.Microsoft.DependencyInjection
注意最新版本
2.写配置类
以下例子为目的
C
/// <summary>
/// 用来省略同名赋值的
/// </summary>
public class MappingProfile : Profile
{
public MappingProfile()
{
// 将 UserDto 映射到 Users, 将 UserDto 变成 Users,
CreateMap<UserDto, Users>();
// 如果需要反向映射(实体→DTO)
// CreateMap<Users, UserDto>();
// 如果属性名不一致,可以手动配置,交叉
// CreateMap<UserDto, Users>()
// .ForMember(dest => dest.FullName, opt => opt.MapFrom(src => src.Name))
// .ForMember(dest => dest.Id, opt => opt.Ignore()); // 忽略自增ID
}
}3.使用
C
// 将 UserDto 映射到 Users, 将 UserDto 变成 Users,
var user = mapper.Map<Users>(userDto); // 自动映射所有同名属性