开始想用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

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

3、修改连接字符串,在Web.Host或是Web.MVC下找到appsetting.json文件并修改其中的连接字符串。

 "Default": "Server=xxx.xxx.xxx.xxx; Database=surrounddb;charset=utf8;uid=root;pwd=123456;"

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

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

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

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

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

  PM>Update-Database

  没有差错下将会提示如下:

  提示信息:Applying migration '20180809141445_InitAll'.

       Done.

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

注意:

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,望技术有成后能回来看见自己的脚步

ABP框架连接Mysql数据库的更多相关文章

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

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

  2. 记录一次Spring boot 搭建框架连接Mysql数据库注解事务不回滚的故障

    搭建了一个新框架,使用了spring boot 替换以简化原来繁杂的spring配置,使用Spring注解管理事务,持久层使用mybatis. 连接mysql数据库完成项目的过程中发现不支持事务,因为 ...

  3. 使用ABP EntityFramework连接MySQL数据库

    ASP.NET Boilerplate(简称ABP)是在.Net平台下一个很流行的DDD框架,该框架已经为我们提供了大量的函数,非常方便与搭建企业应用. 关于这个框架的介绍我就不多说,有兴趣的可以参见 ...

  4. 基于Python3.6使用Django框架连接mysql数据库的驱动模块安装解决办法

    解决办法1 使用PyMySQL模块,直接使用pip install pymysql即可. 参考文章:https://www.cnblogs.com/wcwnina/p/8719482.html 原文内 ...

  5. ABP框架使用Mysql数据库

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

  6. nodejs之使用express框架连接mysql数据库,返回jsonapi数据

    var express = require('express');var router = express.Router();var url = require('url');var mysql = ...

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

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

  8. Error loading MySQLdb module: No module named 'MySQLdb'----------- django成功连接mysql数据库的方法

    在进行django学习过程中,尝试使用框架连接mysql数据库,启动服务器的时候经常遇到Error loading MySQLdb module: No module named 'MySQLdb' ...

  9. Vs2013 使用EF6 连接mysql数据库

    最近在使用MySQL数据库,在使用EF框架连接MySQL数据库时发现了一个问题,使用DB First创建实体对象的时候会出现如下图的错误:您的项目引用了最新版实体框架….. (如下图)或者会出现新建实 ...

随机推荐

  1. React从入门到放弃之前奏(4):Redux中间件

    redux 提供了类似后端 Express 的中间件概念. 最适合扩展的是redux中的 store.dispatch 方法,中间件实际就是通过 override redux的store.dispat ...

  2. LinkedBlockingQueue简介

    LinkedBlockingQueue是一个单向链表实现的阻塞队列,先进先出的顺序.支持多线程并发操作. 相比于数组实现的ArrayBlockingQueue的有界,LinkedBlockingQue ...

  3. election.go

    package)) ].GetResponseRange().Kvs[] ) ].Value),]         }         wch := client.Watch(cctx, string ...

  4. 【UOJ】67 新年的毒瘤 &【BZOJ】1123 BLO

    [UOJ 67] 题目链接: 传送门 题解: 第一眼很懵逼……这什么鬼. 思考什么点复合条件……(o(>﹏<)o 1.树,也就是说还剩n-2条边,等价于要删去一个度数为m-n+2的点. 2 ...

  5. BZOJ_2734_[HNOI2012]集合选数_构造+状压DP

    BZOJ_2734_[HNOI2012]集合选数_构造+状压DP 题意:<集合论与图论>这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x ...

  6. 显著性检测(saliency detection)评价指标之NSS的Matlab代码实现

    calcNSSscore.m function [ score ] = calcNSSscore( salMap, eyeMap ) %calcNSSscore Calculate NSS score ...

  7. HttpClient4 TIME_WAIT和CLOSE_WAIT

    最近,公司的接口服务器(客户端,向外发送数据)频繁出现了connect timeout 以及readtime out 的情况,经过运维平台检测,并没有网络延时的情况.于是,开始怀疑连接池出了问题. 使 ...

  8. Windows上安装配置SSH教程(4)——WinSCP+OpenSSH 使用公钥自动登陆

    -------------------- 知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html -------------------- 重要 ...

  9. [CTF隐写]png中CRC检验错误的分析

    [CTF隐写]png中CRC检验错误的分析 最近接连碰到了3道关于png中CRC检验错误的隐写题,查阅了相关资料后学到了不少姿势,在这里做一个总结 题目来源: bugku-MISC-隐写2 bugku ...

  10. 基于promtheus的监控解决方案

    一.前言 鄙人就职于某安全公司,团队的定位是研发安全产品云汇聚平台,为用户提供弹性伸缩的云安全能力.前段时间产品组提出了一个监控需求,大致要求:平台对vm实行动态实时监控,输出相应图表界面,并提供警报 ...