• 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

  • 相关阅读:
    Include Native *.so Library in APK With Android Studio
    listview
    随笔2
    const
    关于nginx配置gzip的相关说明
    关于gzip开启后压缩对比及相关性能
    webpack 打包性能优化
    关于pc端挂载移动端页面的问题
    vue-router 中的路径异步获取时导致的to报错问题
    关于cors及文件上传和下载在非开发环境导致的异常问题
  • 原文地址:https://www.cnblogs.com/xsj1989/p/14445905.html
Copyright © 2020-2023  润新知