• .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);
            }
            ...
    }
  • 相关阅读:
    第二次作业
    第一次作业——结合三次小作业
    第一次个人编程作业
    uva 10288 gailv
    牛客网第9场多校E(思维求期望)
    hdu6415 记忆化搜索或找规律
    hdu6395 (矩阵快速幂+分块)
    hdu6396(思维+输入挂)
    6354 Everything Has Changed
    牛客网暑期ACM多校训练营(第七场)Bit Compression
  • 原文地址:https://www.cnblogs.com/ideacore/p/6282994.html
Copyright © 2020-2023  润新知