zoukankan      html  css  js  c++  java
  • .Net Core 中使用AutoMapper

    1、新建一个类

    using AutoMapper;
    using YourModels;
    using YourViewModels;
    namespace YourNamespace
    {
        public class AutoMapperProfileConfiguration : Profile
        {
            protected override void Configure()
            {
                CreateMap<Application, ApplicationViewModel>();
                CreateMap<ApplicationViewModel, Application>();
                ...
            }
        }
    }

    2、在Startup.cs中增加MapperConfiguration属性

    private MapperConfiguration _mapperConfiguration { get; set; }

    3、在Startup.cs中的Startup方法中增加

    _mapperConfiguration = new MapperConfiguration(cfg =>
    {
        cfg.AddProfile(new AutoMapperProfileConfiguration());
    });

    4、在ConfigureServices()中增加

    services.AddSingleton<IMapper>(sp => _mapperConfiguration.CreateMapper());

    5、使用

    using AutoMapper;
    using ...
    namespace YourNamespace
    {
        public class ApplicationsController : BaseController
        {
            [FromServices]
            private IMapper _mapper { get; set; }
            [FromServices]
            private IApplicationRepository _applicationRepository { get; set; }
            public ApplicationsController(
                IMapper mapper,
                IApplicationRepository applicationRepository)
            {
                _mapper = mapper;
                _applicationRepository = applicationRepository;
            }
            // GET: Applications
            public async Task<IActionResult> Index()
            {
                IEnumerable<Application> applications = await _applicationRepository.GetForIdAsync(...);
                if (applications == null)
                    return HttpNotFound();
                List<ApplicationViewModel> viewModel = _mapper.Map<List<ApplicationViewModel>>(applications);
                return View(viewModel);
            }
            ...
    }
  • 相关阅读:
    android学习笔记--AlarmManager
    Linux学习笔记--vi
    perl学习笔记--搭建开发环境
    PERL学习笔记---正则表达式的应用
    PERL学习笔记---正则表达式
    perl学习笔记---标量
    产生0到100内的任意随机数
    js判断参数是否为非数字
    linux 下搭建php环境
    关于echarts的疑问
  • 原文地址:https://www.cnblogs.com/ideacore/p/6282994.html
Copyright © 2011-2022 走看看