当前位置:首页 > 话题广场 > 攻略专题 > 游戏问答

.net如何连接mysql数据库看这里!Net Core 3.1版本使用MySQL数据库迁移启动模板项目

最近。因为还没有使用net core。我想用net core的环境创建新项目.因为不熟悉net core的体系结构,所以我将下载ABP项目,先了解一下。

但是自己太菜了,下载了模板项目,在启动的过程中一波三折,其曲折真是无法用言语形容。(但是我没有灰心!没有什么技术是在努力的情况下学不会的,是嘛)在搜集信息的过程中,很多网友分享的资料都很有帮助,但是有一个问题的方法对于我这边遇到的问题却用不上,因为问题没有得到解决。但是却给了我不同的思路,从而让问题得到解决,模板项目终于顺利启动。

先贴上我参考的帖子,正是因为有优秀的网友的分享,我才打开了abp模板项目的大门!(不多说了,远程握手为敬吧,哈哈)

参考资料

ABP入门教程(一)启动模板项目

ABP (.Net Core) 使用MySQL数据库

按照参考资料的操作,只需要简单几步就可以把模板项目启动起来,但是!不知道为何,任何新鲜的技术到了我这里,就要费上N个步骤,花费九牛二虎之力,绞尽脑汁都还是一堆红色报错,满屏红让我沮丧,让我怀疑人生......

emmmm直接开始从步骤说起吧。

  1. abp模板下载abp模板下载
  2. VS2019打开项目解决方案(用VS2017应该也可以,不过要额外下载.net sdk 3.0安装。)
  3. 找到【解决方案名.Web.Host】项目里面的a,修改数据库连接字符串因为我本地的sqlserver没有连接成功,缺配置工具,没有选择重装。改换mysql配置。所以我的配置是"ConnectionStrings": { "Default": "server=localhost;uid=root;pwd=123;port=3306;database=ExtraModuleDb;" }
  4. 在【解决方案名.EntityFrameworkCore】用Nuget添加安装引用(也可以参考上面的第二个链接,用命令执行)install-package
  5. 在【解决方案名.EntityFrameworkCore】里面找到DbContextConfigurer文件,修改数据库配置连接 `public static void Configure(DbContextOptionsBuilder<KYKWMSExtraModuleDbContext> builder, string connectionString) { builder.UseMySql(connectionString); } public static void Configure(DbContextOptionsBuilder<KYKWMSExtraModuleDbContext> builder, DbConnection connection) { builder.UseMySql(connection); }`
  6. 数据迁移最好先删除【解决方案名.EntityFrameworkCore】下的【Migration】文件夹然后将【解决方案名.Web.Host】设为启动项目,在程序包管理器控制台(Nuget控制台)里设定默认项目为EntityFrameworkCore。在程序包管理器控制台输入命令: Add-Migration Init生成成功,会看到【解决方案名.EntityFrameworkCore】下的【Migration】文件夹下面多了三个文件。然后更新数据库,abp会自动建库。在程序包管理器控制台输入命令: Update-Database -Verbose到了这里呢,问题就来了,我正是被这个问题困扰了一个上午。好熟悉的错误:You have an error in your SQL syntax肉眼可见,datetime那里带了一个长度,而在mysql语句创建表的时候,datetime类型是不允许带长度的。于是我的做法就是,手动把代码里面datetime(6)全部替换成datetime,再次在程序包管理器控制台输入命令: Update-Database -Verbose但得到的结果仍然是You have an error in your SQL syntax。反复操作 Add-Migration Init Update-Database -Verbose 后,依然没办法解决这个问题,我有一点无奈,同时有一点不甘心。我可是个老鸟啊,遇到未知的问题,解决问题的方式就只能是坐着叹气了么?! (肯定不是!)午休睡了一觉,下午起来接着解决这个问题。我看了一下,为什么是添加 引用呢?这个产商不是官方Oracle的呢。以前的项目不都是添加MySql.Data吗?带着这个疑惑,于是我就尝试着换 MySql.Data 去添加引用,添加引用的时候,发现它有一个EntityFrameworkCore的版本: MySql.Da ,于是把两个都安装上。(一定是要两个都安装,只安装 MySql.Data 是不完整的,至少在数据库配置链接出错的时候,是没有提示,不知道应该改成UseMySQL才可用)

安装好后,运行发现有报错,原来数据库配置连接里面的MySql要大写的才对。(其实报错的时候会很疑惑,明明是MySql啊,为什么不支持了呢?也不知道是要改大写,把鼠标放上去选择修复的时候,就变成大写,错误就消失了。)

就这样编译成功!说明用官方的包也是可以用的!

接着重新重复第6步的命令:

删除【Migration】文件夹下面的文件,在程序包控制台执行命令:

Add-Migration Init

Update-Database -Verbose

好了!看到表成功的在创建!

但是,不能开心太早!问题又来了!

字符串的长度太长了,最后一句提示varchar max length=65535。我还不知道这些代码是怎么生成的,要怎么把最基础的代码改掉才不至于报低级的错误。所以在这里我解决的方法就是手动去把【Migration】文件夹下面的文件,超出数据类型长度的全部手动修改。第一次没有改全的,报一次错改一次,后面基本都是数据类型长度超出的问题。全部改好了,再 Update-Database,最终数据库成功创建好,项目也运行起来了。

emmmm,前端的因为还不太熟悉这种分离式的项目,vue.js还跑不起来,看不到整个项目的全貌。这里就作为第一部分结束先。

1.《.net如何连接mysql数据库看这里!Net Core 3.1版本使用MySQL数据库迁移启动模板项目》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《.net如何连接mysql数据库看这里!Net Core 3.1版本使用MySQL数据库迁移启动模板项目》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2240381.html

上一篇

0PP0N3卡2怎么装手机卡?终于找到答案了不只有OPPO R9s最畅销,盘点OPPO历史上经典的机型

下一篇

1 7用二进制怎么表示?终于找到答案了LeetCode题解|1356.根据数字二进制下1的数目排序

关于.net如何连接mysql数据库连接池,你需要知道这些西门子S7-1200直接连接MySQL数据库

关于.net如何连接mysql数据库连接池,你需要知道这些西门子S7-1200直接连接MySQL数据库

.net如何连接mysql数据库连接池相关介绍,项目上需求,要把采集的数据存储到数据库中,当前西门子有很多方法通过WINCC的脚本,第三方的软件等等,但是随着发展,有些需求希望设备直接到数据库,比如云端的RDS,可能现场不会有专门的电脑或者触摸屏用...

.net如何连接mysql数据库连接池?我来告诉你答案ASP.NET Core MVC+Layui使用EF Core连接MySQL执行简单的CRUD操作

.net如何连接mysql数据库连接池?我来告诉你答案ASP.NET Core MVC+Layui使用EF Core连接MySQL执行简单的CRUD操作

.net如何连接mysql数据库连接池相关介绍,目录导航: 前言: 示例实现功能预览: 博客实例源码下载地址: 一、创建ASP.NET Core Web应用程序: 二、添加EF Core NuGet包: 安装方式: 三、创建对应数据库表的实体模型:...

.net如何连接mysql数据库?终于找到答案了.net core 里连接mysql查询数据的方法

.net如何连接mysql数据库?终于找到答案了.net core 里连接mysql查询数据的方法

.net如何连接mysql数据库相关介绍,1.创建新项目-asp.netcore web应用程序 2. 3.右键单击项目-管理NuGet软件包(n). 4.波罗。搜索En安装 5.将数据库连接字符串添加到a文件中 AllowedHosts&#...

.net如何连接mysql数据库?总结很全面速看!MySQL数据库驱动程序底层是如何连接数据库的?

.net如何连接mysql数据库?总结很全面速看!MySQL数据库驱动程序底层是如何连接数据库的?

.net如何连接mysql数据库相关介绍,指南:最近研究Calcite时发现使用Avatica框架构建数据库驱动程序,这让我很好奇MySQL的驱动程序基础是如何与MySQL数据库通信的。(威廉莎士比亚,美国作家)。 基本概念 在进行深入分析之...

.net如何连接mysql数据库连接池?我来告诉你答案西门子S7-1200直接连接MySQL数据库

.net如何连接mysql数据库连接池?我来告诉你答案西门子S7-1200直接连接MySQL数据库

.net如何连接mysql数据库连接池相关介绍,项目要求,收集的数据应存储在数据库中。目前,西门子有多种方法,包括WINCC脚本编写、第三方软件等。但是随着开发,云RDS等设备可能希望直接连接到数据库。现场可能没有运行脚本或程序的专用计算机或触摸屏...

.net如何连接mysql数据库连接池?我来告诉你答案.net core 里连接mysql查询数据的方法

.net如何连接mysql数据库连接池?我来告诉你答案.net core 里连接mysql查询数据的方法

.net如何连接mysql数据库连接池相关介绍,1. 创建新项目-ASP.NET Core Web 应用程序 2. 3. 右键项目-管理 NuGet 程序包(N)... 4. 搜索 Pomelo.En 安装 5. 在a文件添加 数据库连接字符串 &...

.net如何连接mysql数据库连接池?总结很全面速看!.net core 里连接mysql查询数据的方法

.net如何连接mysql数据库连接池?总结很全面速看!.net core 里连接mysql查询数据的方法

.net如何连接mysql数据库连接池相关介绍,1. 创建新项目-ASP.NET Core Web 应用程序 2. 3. 右键项目-管理 NuGet 程序包(N)... 4. 搜索 Pomelo.En 安装 5. 在a文件添加 数据库连接字符串 &...

关于.net如何连接mysql数据库,你需要知道这些.net core 里连接mysql查询数据的方法

关于.net如何连接mysql数据库,你需要知道这些.net core 里连接mysql查询数据的方法

.net如何连接mysql数据库相关介绍,1. 创建新项目-ASP.NET Core Web 应用程序 2. 3. 右键项目-管理 NuGet 程序包(N)... 4. 搜索 Pomelo.En 安装 5. 在a文件添加 数据库连接字符串 &...