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
 
上一篇:Mac OS X上编写 ASP.NET vNext 系列中断和再开声明


下一篇:[Abp vNext 源码分析] - 5. DDD 的领域层支持(仓储、实体、值对象)