ABP框架开发-连接Mysql

目录

开始想用Abp框架来搭建公司的新项目,虽然一切还没有定数,但是兵马未动,粮草先行,我先尝试一下整个过程,才能够更好的去争取机会。

此次技术选型:Abp(Asp.Net core mvc)+mysql(8.0)+docker

Abp官网地址:https://aspnetboilerplate.com/

 

  1. Nuget中安装mysql相关包,oracle公司提供的mysql包用起来还有问题,所以现在都是用的第三方的mysql包。
  • pomelo.entityframeworkcore.mysql

  • pomelo.entityframeworkcore.mysql.design

201038657_555900b7-9c76-49e0-bef1-8ae4f6e9dc27

  1. 在EntityFrameworkCore层中找到XXDbContextConfigurer,修改DbContext中数据库配置,默认使用的SqlServer,修改为mysql。

201039951_5c2fcca1-bc6b-4de1-9302-3503b7ebc7dc

  1. 修改连接字符串,在Web.Host或是Web.MVC下找到appsetting.json文件并修改其中的连接字符串。
 "Default": "Server=xxx.xxx.xxx.xxx; Database=surrounddb;charset=utf8;uid=root;pwd=123456;"

我直接在服务器中的Docker下安装了一个mysql数据库,因此在开发环境下也将直接使用该数据库。

  1. 开始更新数据库,可将EntityFrameworkCore层下的Migrations文件夹删掉不影响,其中的是该版本历史过程中数据库迁移所带来的,于我们而言不重要了。

在程序包管理器控制台下选中EntityFrameworkCore,并开始输入命令

  PM>Add-Migration name(取一个本次更新的名称)

提示信息:To undo this action, use Remove-Migration.

  PM>Update-Database

没有差错下将会提示如下: 提示信息:Applying migration ‘20180809141445_InitAll’. Done.

201040985_afcabe73-1d74-46d4-883c-c6e15a8f2e69

  1. 启动网站,成功打开并连接,如有表结构变化,更新数据库,只需再次运行之前两行命令即可。

 

注意:

1、我的mysql数据库版本已高于5.7,在mysql5.7时会报一些错误,诸如:Specified key was too long; max key length is 767 bytes之类的.

是由于该版本的mysql使用的编码方式不同,选择提升版本、通过修改mysql的编码方式解决(https://blog.csdn.net/NikoZhao/article/details/79521812)

2、连接字符串中如果加入了Ssl=None;将会出错,去掉即可。

2018-08-09,望技术有成后能回来看见自己的脚步