欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ABP——切换MySQL数据库

程序员文章站 2022-03-20 12:14:02
我是一名.net新手,应公司要求开始学习.net,使用的是土耳其大牛写的框架ASP.NET Boilerplate 简称ABP,是基于DDD的现代ASP.NET开发框架,ABP提供了一个启动模板用于新建的项目。经过多方阅读,自己进行实践,并进行总结。需要把这个模板搭建起来,微软下载的原始模板使用的数 ......

我是一名.net新手,应公司要求开始学习.net,使用的是土耳其大牛写的框架asp.net boilerplate 简称abp,是基于ddd的现代asp.net开发框架,abp提供了一个启动模板用于新建的项目。经过多方阅读,自己进行实践,并进行总结。需要把这个模板搭建起来,微软下载的原始模板使用的数据库是sqlserver,由于个人原因需要将其进行修改。本人所使用的是win7系统,数据库是mysql,软件使用的是vs2017。
进入正题先进入微软的官网:https://aspnetboilerplate.com/templates

ABP——切换MySQL数据库

按照步骤进行操作,点击create my project

进行等待下载,下载完成后,将压缩包解压到一个文件夹下面,打开文件夹找到aspnet-core, 找到以*.sln结尾的文件打开

ABP——切换MySQL数据库

1.打开以后点击解决方案,先还原nuget包

如下图显示

ABP——切换MySQL数据库

2.安装mysql.data.entity
在vs2017中右击解决方案 =》找到管理解决方案nuget程序包

ABP——切换MySQL数据库

打开后的页面 并输入mysql.data.entity ,我下载的是最新版的,当最新版的没有迁移成功时,卸载当前最新版本,下载低版本的,并测试

ABP——切换MySQL数据库

当然也可以使用命令进行安装数据库插件点击工具=》nuget包管理器=》程序包管理器控制台
在控制台中程序包源选择 全部 默认程序选择 *.entityframeworkcore
依次输入
install-package pomelo.entityframeworkcore.mysql.design

install-package pomelo.entityframeworkcore.mysql

ABP——切换MySQL数据库

3.更改配置文件

在解决方案entityframeworkcore层找到dbcontextconfigurer文件,修改里面的内容

ABP——切换MySQL数据库

4.卸载sql server的nuget包
在程序包管理器控制台使用代码进行卸载

uninstall-package microsoft.entityframeworkcore.sqlserver
5.重新修改数据库连接字符串
找到appsettings.json文件重新修改数据库连接字符串进行修改
"default": "server=localhost;port=3306;database=数据库名字;uid=root;pwd=数据库密码;"
6.下载并安装mysql
输入连接 https://dev.mysql.com/downloads/mysql/5.5.html#downloads 下载并安装mysql
7.重新添加数据迁移
找到*.entityframeworkcore层的migrations文件夹,删除文件夹里面的所有文件,不要删除文件夹。删除完文件之后,重新生成解决方案。接着在程序包管理器控制台 默认程序选择 *.entityframeworkcore 敲入命令add-migration newinit 当出现 to undo this action, use remove-migration. 时为执行成功。

再次执行 update-database 出现applying migration '20190513024725_newinit'. 数据库迁移成功。在mysql数据库中就可以看到所有的表。
注:
有的小伙伴可能执行会出错(当然这是我安装过程中遇到的问题 ), 可能会有以下几个问题
1.powershell version 2.0 is not supported. please upgrade powershell to 3.0 or greater and restart visual studio.
对于这个问题是由于win7系统版本较低,需要更新 。在微软官网即https://www.microsoft.com/zh-cn/download/details.aspx?id=40855 这个地址,下载安装 windows6.1-kb2819745-x64-multipkg.msu 即可。当然若是新系统或win10应该不会出现这样的问题
2.your startup project 'ytmyprocte.web.host' doesn't reference microsoft.entityframeworkcore.design.
这个问题是由于缺microsoft.entityframeworkcore.design.包,将这个包装上之后就ok了。

作为新人,第一次写博客,请多提意见,谢谢