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);
            }
            ...
    }
  • 相关阅读:
    EntityFramework查询联合查询(Join,GroupJoin)
    浏览器向服务器请求页面的原理
    如何获取浏览器类型和版本
    64位Win7下32位IE无法启动问题
    jQuery 收藏
    JavaScript五种继承方式[转]
    针对模板页面的数据爬虫实现方法探讨
    ArcGISFlexSDK中关于切换地图问题(不同范围)
    NodeJS缓存文件夹遍历
    高通配置uart
  • 原文地址:https://www.cnblogs.com/ideacore/p/6282994.html
Copyright © 2011-2022 走看看