zoukankan      html  css  js  c++  java
  • ABP.NetCore V3.x版本连接MySql

    1、之前我下载的是最新的ABP ASP.NetCore V5.x版本的ABP框架,连接MySql的时候要安装pomelo.entityframeworkcore.mysql和pomelo.entityframeworkcore.mysql.design,发现没法装,因为版本号不匹配
    2、然后下载V3.x版本的,这个时候就可以安装了,这俩包都安装到AbpFrameworkCore3.EntityFrameworkCore这个项目里。
    3、修改AbpFrameworkCore3.EntityFrameworkCore》EntityFrameworkCore》AbpFrameworkCore3DbContextConfigurer.cs》给他改成UseMySql

    public static class AbpFrameworkCore3DbContextConfigurer
        {
            public static void Configure(DbContextOptionsBuilder<AbpFrameworkCore3DbContext> builder, string connectionString)
            {
                //builder.UseSqlServer(connectionString);
                builder.UseMySql(connectionString);
            }
    
            public static void Configure(DbContextOptionsBuilder<AbpFrameworkCore3DbContext> builder, DbConnection connection)
            {
                //builder.UseSqlServer(connection);
                builder.UseMySql(connection);
            }
        }

    4、修改appSettings.json连接字符串
    "Default": "Server=localhost; Database=AbpFrameworkCore3Db;charset=utf8;uid=root;pwd=123456;"
    5、现在已经可以连接MySql了,但是要把AbpFrameworkCore3.EntityFrameworkCore》Migrations下面的所有文件全部删除,重新Add-Migration,然后执行Update-Database
    6、执行Update-Database的时候可能会报错:Specified key was too long; max key length is 767 bytes,
    原因是Mysql的索引长度限制导致
    我的办法是把那些超长的索引都注释掉了,因为几乎用不到,
    用到唯一索引的时候,在程序中进行唯一判断就行了;
    对于启用innodb_large_prefix选项,我也没弄成功,我用的是Mysql5.6
    参考文章:
    连接mysql:https://www.cnblogs.com/topguntopgun/p/12081572.html
    索引超长:
    https://www.jianshu.com/p/b8d01de45959
    https://blog.csdn.net/chenjianhuideyueding/article/details/88426021

  • 相关阅读:
    解读基本数据类型和内置方法(1)(要掌握)
    简单循环流程的介绍
    基本数据类型的使用和运算符的介绍
    开辟编程语言的介绍和变量
    HTML5 元素超出部分滚动, 并隐藏滚动条
    数据库多行数据合并一行(sqlserver、Oracle、Mysql)
    Js apply方法与call方法详解 附ES6新写法
    Java实现牛顿迭代法求解平方根、立方根
    为什么在JavaScript中0.1+0.2不等于0.3?
    html5手机web页面底部菜单
  • 原文地址:https://www.cnblogs.com/xsj1989/p/14445905.html
Copyright © 2011-2022 走看看