生成主体项目
命令
abp new <项目名称>
生成项目后可参考 阿星Plus 的博客项目进行优化精简
优化后的项目结构
Madas.HttpApi.Hosting
对外的 API 层
Madas.EntityFrameworkCore.DbMigrations
用于自动生成数据库
Madas.Application
应用层
Madas.Application.Contracts
应用接口层
Madas.BackgroundJobs
用于后台定时项目
Madas.Domain
领域层
Madas.Domain.Shared
领域公共层
Madas.EntityFrameworkCore
基础设施层
Madas.HttpApi
API 方法实现层
Madas.Swagger
用于配置 Swagger
Madas.ToolKits
共用工具层
modules
文件夹内放置 模块项目
生成模块项目
首先使用 ABP CLI 在 modules
文件夹中创建一个模块:
可参考文章 ABP模块化开发-文件管理
命令
abp new Madas.FileManagement -t module --no-ui
删除不必要的模块
优化后的模块结构,在此项目中我只留下如下内容
在主项目中引用模块项目
在 主项目的 以下层次中引用 对应模块
Application、Application.Contracts、Domain、Domain.Shared、EntityFrameworkCore、HttpApi
示例
嫌麻烦可以将对应模块上传 Nuget 或对应私服,下载安装
生成数据库
通过配置将模块项目与主体项目的实体在数据库生成对应表
- 在
DbMigrations
的module
中注入对应基础设施层的module
- 在
DbMigrations
的DbContext
中引用对应 表属性设置
- 在
DbMigrations
的DbContextFactory
中设置需连接的数据库