Abp vNext - 让项目跑起来
Abp vNext是Abp的.NET Core 版本,但它不仅仅只是代码重写了。Abp团队在过去多年社区和商业版本的反馈上做了很多的改进。包括性能、底层的框架设计,它融合了更多优雅的设计实践。不管是自己需要快速上手项目、或者是公司的研发团队没有足够的能力去完整地开发一套稳定且功能全面的快速开发框架;对于.NET 系的开发者和公司来说,Abp目前就是目前最好的选择。
设置开发环境
安装以下工具:
- .NET SDK 8.0+
- Node v16 / v18
- IDE:VS或者VS Code
安装ABP CLI
ABP CLI (命令行接口) 是一个命令行工具,用来执行基于ABP解决方案的一些常见操作。
使用以下命令安装 ABP CLI:
1 | dotnet tool install -g Volo.Abp.Cli |
如果已安装, 则可以使用以下命令对其进行更新:
1 | dotnet tool update -g Volo.Abp.Cli |
创建新项目
使用 ABP CLI 创建一个新的 ABP 项目。
1 | abp new Acme.BookStore -u angular |
创建项目完成后,生成目录如下:
生成数据库
连接字符串
在.HttpApi.Host
和.DbMigrator
项目中修改appsetting.json
1 | "ConnectionStrings": { |
迁移数据库
EF Core 提供两种主要方法来保持 EF Core 模型和数据库架构同步
如果没有数据库:
1、先写代码,自动创建数据库。
2、如果代码有变化,自动删除数据库重建,或者是使用迁移功能更改已有数据库。
如果已有数据库:
1、使用EF PowerTools反向工程生成模型。
至于选用哪种方式,区分是以 EF Core 模型为准还是以数据库为准。
如果以 EF Core 模型为准,则使用迁移。 对 EF Core 模型进行更改时,此方法会以增量方式将相应架构更改应用到数据库,以使数据库保持与 EF Core 模型兼容。
如果希望以数据库架构为准,则使用反向工程。 使用此方法,可通过将数据库架构反向工程到 EF Core 模型来生成相应的 DbContext 和实体类型。
在ABP中使用的是Code First
同步数据库,也就是通过代码迁移;ABP提供迁移程序执行迁移:
将.DbMigrator
项目设置启动项目,确认数据库连接字符串
启动,输出如下:
1 | [14:53:41 INF] Started database migrations... |
或者使用程序包管理控制台执行命令迁移:
1 | Update-Database |
初始的种子数据在数据库中创建了
admin
用户(密码为1q2w3E*
) 用于登录应用程序。所以,对于新数据库至少使用.DbMigrator
执行一次迁移
运行应用
运行Host API
将.HttpApi.Host
项目设为启动项目,执行ctrl+f5
,打开swagger
如下:
运行客户端
打开angular
,还原依赖包
1 | yarn |
模块安装完成后运行
1 | yarn start |