1.  框架以外依赖包引入

1.1.  Pomelo.EntityFrameworkCore.MySql

1.2.  Pomelo.EntityFrameworkCore.MySql.Design

2.  冲突包的检查和排除(自己遇到的出问题的地方)

2.1.  排除-Mysql.Data.Entity,具体原因不详。

2.2.  排除-MySQL.Data.EntityFrameworkCore,EfCore 报错,无法进行类型的强制转换,目前官方没有解决,所以使用Pomelo来替代。

3.  在EntityFrameworkCore层修改DbContextConfigurer文件中的数据库引用。

4.  在EntityFrameworkCore层修改DbContext的OnModelCreating方法,添加映射最大值限制。

5.  修改Migrator下的appsetting.json和Web.Host下的appsetting.json中的数据库连接配置

6.  在NuGet程序包管理控制台执行生成迁移脚本命令。

7.  在NuGet程序包管理控制台,执行EF数据库更新语句。

8.  用Navicat工具连接到数据库验证是否生成对应数据库。

【说明】ABP原始框架环境准备:

ASP.NET Core 2.X

.NET Core (Cross Plateform)

vue 2.5.16

vuex 3.0.1

ABP 3.8.1

yarn 1.9.4

1.  框架以外依赖包引入

1.1.  Pomelo.EntityFrameworkCore.MySql

【说明】MYSQL基础支撑

1.2.  Pomelo.EntityFrameworkCore.MySql.Design

【说明】生成升级脚本的设计支撑,例如,MYSQL数据库字段类型到实体类型的映射关系。

2.  冲突包的检查和排除(自己遇到的出问题的地方)

2.1.  排除-Mysql.Data.Entity,具体原因不详。

2.2.  排除-MySQL.Data.EntityFrameworkCore,EfCore 报错,无法进行类型的强制转换,目前官方没有解决,所以使用Pomelo来替代。

3.  在EntityFrameworkCore层修改DbContextConfigurer文件中的数据库引用。

【说明】修改前:

public static void Configure(DbContextOptionsBuilder<CourseraDbContext> builder, string connectionString)

{

builder.UseSqlServer(connectionString);

}

【说明】修改后:

public static void Configure(DbContextOptionsBuilder<CourseraDbContext> builder, string connectionString)

{

builder.UseMySql(connectionString);

}

【说明】注意:

如果引用的是UseMYSql,则说明,引用包为MySQL.Data.EntityFrameworkCore,生成迁移脚本的时候,仍然会报无法进行转换的错误。

4.  在EntityFrameworkCore层修改DbContext的OnModelCreating方法,添加映射最大值限制。

【说明】modelBuilder.Entity<ApplicationLanguageText>().Property(p => p.Value).HasMaxLength(500);

没有验证过为什么这样做。

5.  修改Migrator下的appsetting.json和Web.Host下的appsetting.json中的数据库连接配置

【说明】修改后的格式:

"Default": "Server=[mysql的连接地址]; port=[端口]; Database=[数据库名称]; user id=[登录账户]; password=[登录密码];"

6.  在NuGet程序包管理控制台执行生成迁移脚本命令。

【说明】执行:add-migration [迁移脚本名称]

执行成功后,将在 Migrations中生成[迁移脚本名称]命名的脚本文件。

7.  在NuGet程序包管理控制台,执行EF数据库更新语句。

【说明】执行 : update-database

8.  用Navicat工具连接到数据库验证是否生成对应数据库。

ABP框架应用-MySQL数据库集成的更多相关文章

  1. ABP框架使用Mysql数据库,以及基于SQLServer创建Mysql数据库的架构和数据

    ABP默认的数据库是SQLServer,不过ABP框架底层是EF框架,因此也是很容易支持其他类型的数据库的,本篇随笔介绍在ABP框架使用Mysql数据库,以及基于SQLServer创建MySql数据库 ...

  2. ABP框架连接Mysql数据库

    开始想用Abp框架来搭建公司的新项目,虽然一切还没有定数,但是兵马未动,粮草先行,我先尝试一下整个过程,才能够更好的去争取机会. 此次技术选型:Abp(Asp.Net core mvc)+mysql( ...

  3. Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS之验证码

    验证码这东西,有人喜欢有人不喜欢.对于WebApi是否需要验证码,没去研究过,只是原来的SimpleCMS有,就加上吧. 在WeiApi上使用验证码,关键的地方在于WeiApi是没有状态的,也就是说, ...

  4. ABP框架使用Mysql数据库

    参考文档:https://github.com/ABPFrameWorkGroup/AbpDocument2Chinese/blob/master/Markdown/Abp/9.4ABP%E5%9F% ...

  5. ABP框架记录

    1.先在Core项目中建立模型Models>Model.cs/ModelManager.cs 2.在Application中建立接口和具体类:IModelAppService.csModelAp ...

  6. 使用代码生成工具快速开发ABP框架项目

    在一般系统开发中,我们一般要借助于高度定制化的代码生成工具,用于统一代码风,节省开发时间,提高开发效率.不同的项目,它的项目不同分层的基类定义不同,我们需要在框架基类的基础上扩展我们的业务类代码,尽量 ...

  7. ABP框架使用Oracle数据库,并实现从SQLServer中进行数据迁移的处理

    ABP框架的数据访问底层是基于EFCore(Entity Framework Core)的,是微软标志性且成熟的ORM,因此它本身是支持多种主流数据库MySQL,SqlServer,Oracle,SQ ...

  8. ABP 框架 数据库底层迁移 Mysql 集群

    技术交流,请加QQ群:538327407 我的各种github 开源项目和代码:https://github.com/linbin524 背景 笔者 目前架构的IOT 项目是使用abp 框架作为后台, ...

  9. ABP框架迁移到Mysql

    ABP框架 .NetCore3.x版本 1.首先找到xxx.Core 项目,添加引用Microsoft.EntityFrameworkCore.Tools 2.找到xxx.EntityFramewor ...

随机推荐

  1. http之206状态码

    206状态码, 大概就是浏览器先不下载要下载的文件,而是弹窗告诉用户,该文件是什么,有多大.由用户自行决定是否下载. 在html中,加一个a标签,a标签的地址是一个文件,就可实现该效果. 具体可参考下 ...

  2. JavaScript创建对象的几种重要模式

    一.工厂模式 1. 代码示例 function person(name, age) { var p = new object(); p.name = name; p.age = age; p.sayN ...

  3. 第六篇 VIM你值得拥有!

    vim 是一个具有很多命令的功能非常强大的编辑器.限于篇幅,在本教程当中      就不详细介绍了.本教程的设计目标是讲述一些必要的基本命令,而掌握好这      些命令,您就能够很容易将vim当作一 ...

  4. Day2-Python基础2---集合和文件操作

    一.集合操作 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 s = set([1,4,5,7,3, ...

  5. java代码异常普通的====

    总结:对于各种流类, package com.da; //包括运行异常,和非运行异常 import java.io.*; public class ryl { public static void m ...

  6. BIOS简单设置 解析“集成显卡”内存占用问题

    很多使用集成显卡的用户会发现,在系统信息窗口中,内存容量和实际不一样.比如系统内存显示4GB,可用3.48G之类.这不可用的一部分内存到哪去了? 其实减少的这部分内存是被集成显卡占用当做显存使用了.而 ...

  7. C语言在32位和64位机器下数字数据类型的字节数取决于编译器和平台, 主要由编译器决定。

    C语言中数字数据类型的字节数 C声明 32位机器 64位机器 char 1 1 short int 2 2 int   4 4 //整型在32位和64位下都是4个字节 long int   4 8 l ...

  8. LAMP 2.2 Apache配置静态缓存

    这里的静态文件指的是图片.js.css 等文件,用户访问一个站点,其实大多数元素都是图片.js.css 等,这些静态文件其实是会被客户端的浏览器缓存到本地电脑上的,目的就是为了下次再请求时不再去服务器 ...

  9. js常见的字符串及数组处理

    最近工作设计前台比较多,由于好久没动前台,或者使用前台框架习惯了,js有点生,将常见的字符串处理忘了,在这里整理一下常见的,以便于查阅: 1.substr():字符串分割,第一个是开始的下标,第二个是 ...

  10. mysql使用存储过程插入数据后,参数为中文的为?或乱码

    最近了解了一下mysql存储过程,之前版本的mysql不支持存储过程,5.0版本后就可以支持存储过程的使用:恰好笔者下载使用版本为5.6.20: 做了一个给表插入数据的简单存储过程,发现打开表后汉字全 ...