当前位置: 首页 > news >正文

网站域名所有权证书网站不续费

网站域名所有权证书,网站不续费,资讯类网站建设,湖北省京山县建设局网站随着技术的发展#xff0c;ASP.NET Core MVC也推出了好长时间#xff0c;经过不断的版本更新迭代#xff0c;已经越来越完善#xff0c;本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容#xff0c;适用于初学者#xff0c;在校毕业生#xff0c…随着技术的发展ASP.NET Core MVC也推出了好长时间经过不断的版本更新迭代已经越来越完善本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容适用于初学者在校毕业生或其他想从事ASP.NET Core MVC 系统开发的人员。 经过前几篇文章的讲解初步了解ASP.NET Core MVC项目创建启动运行以及命名约定创建控制器视图模型接收参数传递数据ViewDataViewBag路由页面布局wwwroot和客户端库Razor语法EnityFrameworkCore与数据库HttpContextRequestResponseSession序列化文件上传等内容今天继续讲解ASP.NET Core MVC 中自动映射等相关内容仅供学习分享使用。 手动映射 在实际应用中随着程序复杂度越来越高分层已经是必然趋势对象的传递与映射也变得很频繁。在小项目中一般采用手动映射赋值如将StudentViewModel对象的属性值赋值给Student。手动映射如下所示 [HttpPost] public IActionResult Add(StudentViewModel studentViewModel) {var student new Student(){Id studentViewModel.Id,Name studentViewModel.Name,Age studentViewModel.Age,Sex studentViewModel.Sex,};studentService.Add(student);return View(); } 手动映射需要逐个属性进行赋值灵活度高但也容易出错。如果项目中存在很多需要映射传递的地方则工作量和复杂度也会随之增加。 自动映射快速入门 自动映射就是由程序自动匹配属性名并进行赋值。步骤如下 1. 安装自动映射包 首先通过NuGet包管理器安装自动映射第三方库【AutoMapper.Extensions.Microsoft.DependencyInjection】目前版本为12.0.1如下所示 2. 创建自动映射关系 创建自动映射关系类AutomapProfile并继承自Profile如下所示 using AutoMapper; using DemoCoreMVC.ViewModels; using DemoCoreMVC.Models;namespace DemoCoreMVC.Profiles {public class AutomapProfile:Profile{public AutomapProfile(){//创建映射关系CreateMapStudentViewModel, Student();}} } 3. 注册自动映射服务 在Program启动文件中添加自动映射服务在服务中添加映射关系类如下所示 builder.Services.AddAutoMapper(cfg {cfg.AddProfileAutomapProfile(); }); //或者 //builder.Services.AddAutoMapper(typeof(AutomapProfile)); 4. 注入IMapper接口 在需要使用自动映射服务的地方注入IMapper服务如控制器中如下所示 private readonly IMapper mapper;public StudentController(IStudentService studentService,IMapper mapper) {this.studentService studentService;this.mapper mapper; } 5. 调用映射方法 在需要映射的地方调用IMapper接口的Map方法如下所示 [HttpPost] public IActionResult Add(StudentViewModel studentViewModel) {var student mapper.MapStudentViewModel, Student(studentViewModel);studentService.Add(student);return View(); } 6. 自动映射示例 经过上述步骤自动映射已经完成经过测试如下所示 多个关系映射文件 在实际应用中会有很多对象需要映射通常会根据不同的类型创建多个关系映射类则在项目启动注册自动映射服务时需要加载多个映射类如下所示 builder.Services.AddAutoMapper(cfg {cfg.AddProfileAutomapProfile();cfg.AddProfileCompanyProfile(); }); 也可以通过扫描程序集的方式加载映射文件可以配置程序集名称程序会自动扫描继承了Profile类的文件。如下所示 builder.Services.AddAutoMapper(cfg {cfg.AddMaps(DemoCoreMVC); }); 注意AddMaps参数配置的是程序集名称而不是命名空间程序集名称可通过项目属性获取如下所示 自动映射匹配 默认情况下自动映射的数据源和目标的属性必须要一致才能进行映射但是在实际应用中属性名之间可能会存在差异如书写格式【Class_Name和ClassName之间的差异】等如果不加处理的话默认是无法自动映射成功的。失败示例如下所示 在映射时进行配置源的命名格式和目标命名格式如下所示 namespace DemoCoreMVC.Profiles {public class AutomapProfile:Profile{public AutomapProfile(){SourceMemberNamingConvention new LowerUnderscoreNamingConvention();DestinationMemberNamingConvention new PascalCaseNamingConvention();//创建映射关系CreateMapStudentViewModel, Student();}} } 注意其中 SourceMemberNamingConvention 源类型成员命名规则 Ex: SourceMemberNamingConvention new LowerUnderscoreNamingConvention(); //下划线命名法 DestinationMemberNamingConvention :目标类型成员命名规则 Ex: cfg.DestinationMemberNamingConvention new PascalCaseNamingConvention(); //帕斯卡命名法 经过设置源类型和目标类型的命名规则后则发现已经可以适配成功。如下所示 经过测试以下全局配置命名规则不生效具体原因不知 builder.Services.AddAutoMapper(cfg {cfg.AddProfileAutomapProfile();cfg.SourceMemberNamingConvention new LowerUnderscoreNamingConvention();cfg.DestinationMemberNamingConvention new PascalCaseNamingConvention(); }); 以上就是ASP.NET Core MVC从入门到精通之自动映射第一部分内容。旨在抛砖引玉一起学习共同进步。
http://www.yingshimen.cn/news/61208/

相关文章:

  • 合肥网站建设新浪营销网站建立好如何做seo
  • 网站开发checklist专做海岛游的网站
  • 网站备案完成用discuz做的门户网站
  • 深圳网站设计 公司医药网站怎么做
  • 国外网站设计seo排名啥意思
  • 网站 seo 优化建议wordpress如何添加顶层菜单
  • 威海临港区建设局网站如何进行网络推广和宣传
  • WordPress站群更新网站开发与应用 答案
  • 佛山微网站推广怎么入驻电商平台
  • 沈阳酒店企业网站制作家庭宽带做网站稳定吗
  • 襄阳企业网站建设东莞seo建站优化费用
  • 免费做微信链接的网站吗中企动力 网站建设 收费
  • 网页打不开百度网盘谷歌关键词排名优化
  • 泉州专业做网站公司咸阳鑫承网站建设
  • wordpress迁移跳转原网站软文营销经典案例
  • 政务网站建设建议帝国cms建站实例教程
  • 官方网站建设网站用什么开发
  • 西宁哪家网络公司做网站腾讯云 部署wordpress
  • 建网站的公司价格cctv5体育现场直播
  • 网站开发软件有哪网页游戏排行大全
  • 网站建设开发公司哪家好高端网站建设套餐
  • 课程培训网站模板下载商城网站商家入驻功能
  • 如何在电商上购物网站深圳沙头网站建设
  • 东莞常平学校网站建设游戏搭建平台
  • 长沙点梦网站建设网上做问卷报酬不错的网站是
  • 泰州腾讯网站开发wordpress的seo如何写关键词
  • wordpress开发视频网站模板网站建设好了怎么做推广
  • 南昌网站推广排名手绘教学网站
  • 中国建材网站南宁市建设工程信息网
  • 关键词下载北京 seo