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实战入门:DbMigrator 自定义项目所需种子数据
Abp VNext 集成sharding-core 分表分库