abp vNext 使用Mysql 数据库

Posted zhanggw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了abp vNext 使用Mysql 数据库相关的知识,希望对你有一定的参考价值。

 

1. 环境

编译器 vs2019

运行时 dotnet core  2.2

数据库 mysql 5.8

2. 开发准备

 

使用abp 官方提供的 CLI工具 创建时因为网络原因会连接失败,幸好abp中文网有对应的国内CLI工具,在此感谢~

安装 CLI

dotnet tool install -g Cn.Abp.Cli

如果之前安装过,更新可以使用:

dotnet tool update -g Cn.Abp.Cli

 

3. 创建项目

根据官方示例,创建一个Acme.BookStore项目

cnabp new Acme.BookStore
VS打开项目后,安装包会自动还原,默认数据库是sqlserver,这时候不要运行,因为我们是要使用mysql数据库的。

创建一个mysql空数据库,数据库名自定。

在Acme.BookStore.Web 项目中的appsettings.json 里面,修改配置字符串为mysql
  "ConnectionStrings": 
    "Default": "Server=localhost;Database=BookStore;Uid=root;Pwd=psd"
  

 

4. 仓储切换Mysql

更换Acme.BookStore.EntityFrameworkCore.DbMigrations  项目中的Nuget包。

在Nuget中搜索安装

Volo.Abp.EntityFrameworkCore.MySQL

  

同时卸载掉默认的

Volo.Abp.EntityFrameworkCore.SqlServer

编译项目,修改出错的地方,将sqlserver相关的内容更换为mysql。可以编译通过后,设置Acme.BookStore.EntityFrameworkCore.DbMigrations 项目为启动项目,将
Acme.BookStore.Web 项目中的
appsettings.json加入到项目的应用中(迁移DB的时候会需要使用)


5. 生成数据库

运行命令
Update-Database

 提示错误:

Your startup project ‘Acme.BookStore.EntityFrameworkCore.DbMigrations‘ doesn‘t reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work. Ensure your startup project is correct, install the package, and try again.

 安装对应的Nuget包:

 Microsoft.EntityFrameworkCore.Design

再次执行命令
Update-Database

还原成功,运行Web项目,成功运行起来了。

参考连接:

https://github.com/cnAbp/abp-cli
https://cn.abp.io/documents/abp/latest/Getting-Started-AspNetCore-MVC-Template
 

以上是关于abp vNext 使用Mysql 数据库的主要内容,如果未能解决你的问题,请参考以下文章

[Abp vNext 源码分析] - 19. 多租户

[Abp vNext 源码分析] - 19. 多租户

Abp VNext实战入门:DbMigrator 自定义项目所需种子数据

Abp VNext 集成sharding-core 分表分库

Abp vNext抽茧剥丝01 使用using临时更改当前租户

ABP Vnext 数据库表字段存在IsDeleted如何物理删除HardDeleteAsync