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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
2016-02-25 where(泛型类型约束)
2016-02-25 如何很好的使用Linq的Distinct方法
2016-02-25 Sql自定义表类型批量导入数据