[bug系列]Method not found: 'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommandBuilderFactory
2024-08-31 22:58:13
bug由来
最近开始学习NetCore,想通过实战使用NetCore做一个集成数据库存储Redis缓存的WebApi项目,由于MSSQL的庞大体积,最终决定使用轻量级关系型数据库MySql。
所以最终方案是NetCore+EF+MySql(Redis缓存)完成这个项目
由于之前接触mysql甚少,也是从网上搜集资料学习
引用了Nuget
MySql.Data.EntityFrameworkCore
Pomelo.EntityFrameworkCore.MySql
由于这两个都是mysql,在概念混淆的情况下都引用了,这就出现了在数据库连接的时候出现了这个bug
贴上代码
public void ConfigureServices(IServiceCollection services)
{
var mysqlCon = Configuration.GetSection("ConnectionStrings:MySqlCon").Value;
services.AddDbContext<Models.MainDBContext>(l => l.UseMySQL(mysqlCon));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
因为同时用用了Mysql和Pomelo,在这个与数据库交互的地方出现了问题
追踪进去UseMySQL发现里面用的是MySql.Data.EntityFrameworkCore程序集
由于使用的NetCore版本是2.1,查询很多资料最终在国外网站得知MySql.Data.EntityFrameworkCore对NetCore2.1的支持并不完善,所以如果需要用到ef的话,推荐使用下面的
同时代码也修改为(标红部分)
public void ConfigureServices(IServiceCollection services)
{
var mysqlCon = Configuration.GetSection("ConnectionStrings:MySqlCon").Value;
services.AddDbContext<Models.MainDBContext>(l => l.UseMySql(mysqlCon));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
通过追踪
如果在数据迁移Migrations的时候也出现这个错误提示,那么问题是一样的,同样修改为小写的,引用Pomelo.EntityFrameworkCore.MySql就可以了
最新文章
- 返回值是JSON的阿贾克斯方法
- c++ operator操作符的两种用法:重载和隐式类型转换,string转其他基本数据类型的简洁实现string_cast
- flash中设置文本字体样式
- ffmpeg去logo<;转>;
- POJ 2431 Expedition(探险)
- xxx couldn&#39;t be loaded because it has not been added to the build settings.
- Ubuntu下添加Eclipse快捷方式
- SEO高手在扯蛋?
- if 一元二次方程求根
- GCD之死锁体会
- javaOOP-基础知识
- IDEA快速入门(Mac版)
- AYUI7 WPF MVC插件欣赏
- npm安装教程
- python 转换容量单位 实现ls -h功能
- gerrit配置和使用
- linux设备驱动归纳总结(三):3面向对象思想和lseek、container_of、write、read 【转】
- 小程序笔记三:幻灯片swiper 和图片自定义高度
- 中间件系列三 RabbitMQ之交换机的四种类型和属性
- ActiveMQ实现消息的发送与接受
热门文章
- mariadb远程不能访问,出现Can&#39;t connect to MySQL server on &#39;&#39; (10061)
- Android开发之SpannableString具体解释
- Android中的消息机制:Handler消息传递机制 分类: H1_ANDROID 2013-10-27 22:54 1755人阅读 评论(0) 收藏
- mysqldump备份脚本
- 在CentOS上使用Nginx和Tomcat搭建高可用高并发网站
- SendMessageTimeout 的使用
- 《写给大忙人看的Java SE 8》——Java8新特性总结
- Methods and systems to control virtual machines
- [Ramda] Create an Array From a Seed Value with Ramda&#39;s unfold
- HDU 1422 重温世界杯 - 贪心