Abp vNext - 让项目跑起来

Abp vNext是Abp的.NET Core 版本,但它不仅仅只是代码重写了。Abp团队在过去多年社区和商业版本的反馈上做了很多的改进。包括性能、底层的框架设计,它融合了更多优雅的设计实践。不管是自己需要快速上手项目、或者是公司的研发团队没有足够的能力去完整地开发一套稳定且功能全面的快速开发框架;对于.NET 系的开发者和公司来说,Abp目前就是目前最好的选择。

设置开发环境

安装以下工具:

安装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
image-20240618103736323

创建项目完成后,生成目录如下:

image-20240619144825909

生成数据库

连接字符串

.HttpApi.Host.DbMigrator项目中修改appsetting.json

1
2
3
"ConnectionStrings": {
"Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=BookStore;Trusted_Connection=True"
}

迁移数据库

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项目设置启动项目,确认数据库连接字符串

image-20240619145238797

启动,输出如下:

1
2
3
4
5
6
[14:53:41 INF] Started database migrations...
[14:53:41 INF] Migrating schema for host database...
[14:53:44 INF] Executing host database seed...
[14:53:45 INF] Successfully completed host database migrations.
[14:53:49 INF] Successfully completed all database migrations.
[14:53:49 INF] You can safely end this process...

或者使用程序包管理控制台执行命令迁移:

1
Update-Database
image-20240619150615715

初始的种子数据在数据库中创建了 admin 用户(密码为1q2w3E*) 用于登录应用程序。所以,对于新数据库至少使用 .DbMigrator 执行一次迁移

运行应用

运行Host API

.HttpApi.Host项目设为启动项目,执行ctrl+f5,打开swagger如下:

image-20240619151443725

运行客户端

打开angular,还原依赖包

1
yarn

模块安装完成后运行

1
yarn start
image-20240619155821450