开发环境.NET CORE2.2.0
AutoMapper所需NuGet包:AutoMapper(8.0),AutoMapper.Extensions.Microsoft.DependencyInjection(6.0.0)
创建好.Net Core WebApi项目之后安装AutoMapper所需的NuGet包,我选择的是在ConfigureServices中静态的初始化AutoMapper
1.首先新增一个集成Profile的类
public class PermissionProfile: Profile
{
public PermissionProfile()
{
//SourceMemberNamingConvention = new LowerUnderscoreNamingConvention();
//DestinationMemberNamingConvention = new PascalCaseNamingConvention();
CreateMap<Permission, PermissionDto>();
}
}
2.在Status.cs文件ConfigureServices中配置静态初始化
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.Configure<DbOption>(Configuration.GetSection("DbOpion"));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
Mapper.Initialize(cfg => cfg.AddProfiles(typeof(PermissionProfile)));
services.AddMvc();
}
3.在Controll中直接映射即可
[Route("api/[controller]")]
public class PermissionController : Controller
{
private readonly IPermissionService _permissionService;
public PermissionController(IPermissionService permissionService)
{
_permissionService = permissionService;
}
// GET: api/<controller>
[HttpGet] public IActionResult Get()
{
var result = Mapper.Map<List<PermissionDto>>(_permissionService.GetPermissionAll());
return Ok(result);
}
}