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. jira python操作,自动创建问题

    jira web api地址 http://jira.**.com/plugins/servlet/restbrowser http://jira.**.com/rest/api/2/issue/cr ...

  2. Angular5学习笔记 - 服务优化(十)

    一.服务合并 二.验证效果

  3. 第二届PHP全球开发者大会(含大会的PPT)

    PHP全球开发者大会于2016年5月14日至15日在北京召开 更多现场图片请猛击: http://t.cn/RqeP7y9 ,  http://t.cn/RqD8Typ 最后,这次大会的PPT可以在这 ...

  4. mycat 分片

    1  配置下面两种ER分片,并结合日志分析子表插入过程中的不同 (1).父表按照主键ID分片,子表的分片字段与主表ID关联,配置为ER分片 (2).父表的分片字段为其他字段,子表的分片字段与主表ID关 ...

  5. 数据校验(2)--demo1---bai

    input_score.jsp <%@ page language="java" import="java.util.*" pageEncoding=&q ...

  6. C Primer Plus学习笔记(一)- C语言概述

    从一个简单的C语言程序开始 #include <stdio.h> /*这是一个简单的C语言程序*/ //注释 int main(void) { int num; num = 1; prin ...

  7. Ubuntu中vi命令的使用

    指今说明: 进入 vi 的命令vi filename: 打开或新建文件,并将光标置于第一行首 vi +n filename: 打开文件,并将光标置于第n行首 vi + filename: 打开文件,并 ...

  8. 问题:HttpContext.Current.Session;结果:Session与HttpContext.Current.Session到底有什么区别呢?

    我在做练习的时候遇到了这样一个问题,在母版页页面中写入登录和密码修改的js代码,在登录的方法中写 入 HttpContext.Current.Session.Add("UserPwd&quo ...

  9. DAY10-python并发编程之携程

    一.引子 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去 ...

  10. xftp permission is not allowed

    上传文件时出现此项错误: permission is not allowed, 原因: 1.可能vsfptd没有配置好 写权限没有开启 2.可能是当前的目录权限,上传的用户不具有: 比如:用户hado ...