针对之前几篇,下载的应用程序模板,实现增删改查的大概操作步骤总结如下:
1、Domain层新增业务所需实体类,Domain.Shared层新增所需公共类:枚举、Commons类等;
2、EFCore中BookStoreDBContext添加DbSet属性,将实体和DBContext关联;OnModelCreating方法添加实体映射代码
3、项目包管理控制台(PMC)指令添加新的个人实体类数据迁移,并引用到数据库;Domain项目创建继承IDataSeedContribution的派生类,初始化数据种子(可忽略);运行DBMigrator项目更新数据库
4、应用程序Application.Contracts创建项目文件夹
- 添加XXXDto以Dto结尾(规范命名,可自定义)的DTO类(用来在展现层和应用层传递数据)
- 添加CreateUpdateXXXDto用于创建或者更新数据使用
- 添加IXXXAppService接口
5、应用程序Application项目
BookStoreApplicationAutoMapperProfile类中
- 添加定义自定义类(XXX)和自定义类Dto(XXXDto)的映射,是因为应用层XXX需要在展现层转换为XXXDto
- 添加CreateUpdateXXXDto到XXX映射
添加模块文件夹之后
添加XXXAPPService类,实现IXXXAppService接口,API Controllers自动生成,Swagger可查看
6、展现层文本本地化,.Domain.Shared下
Localization/BookStore
文件夹下en.json;
新增页面主菜单,.Web项目下Menus文件夹中的BookStoreMenuContributor
类.AddItem()
7、BookStore.Web模块文件夹:
当前文件夹下新增Razor Page文件,index列表页、CreateModal创建页、EditModal编辑页;
当前文件夹下新增index.js脚本实现增、删、查的功能
改功能直接在EditModal.cshtml.cs后台完成,会需要将BookDto映射
到CreateUpdateBookDto,在
.BookStore.Web
项目中打开文件BookStoreWebAutoMapperProfile.cs并进行映射更改