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就可以了

最新文章

  1. 返回值是JSON的阿贾克斯方法
  2. c++ operator操作符的两种用法:重载和隐式类型转换,string转其他基本数据类型的简洁实现string_cast
  3. flash中设置文本字体样式
  4. ffmpeg去logo&lt;转&gt;
  5. POJ 2431 Expedition(探险)
  6. xxx couldn&#39;t be loaded because it has not been added to the build settings.
  7. Ubuntu下添加Eclipse快捷方式
  8. SEO高手在扯蛋?
  9. if 一元二次方程求根
  10. GCD之死锁体会
  11. javaOOP-基础知识
  12. IDEA快速入门(Mac版)
  13. AYUI7 WPF MVC插件欣赏
  14. npm安装教程
  15. python 转换容量单位 实现ls -h功能
  16. gerrit配置和使用
  17. linux设备驱动归纳总结(三):3面向对象思想和lseek、container_of、write、read 【转】
  18. 小程序笔记三:幻灯片swiper 和图片自定义高度
  19. 中间件系列三 RabbitMQ之交换机的四种类型和属性
  20. ActiveMQ实现消息的发送与接受

热门文章

  1. mariadb远程不能访问,出现Can&#39;t connect to MySQL server on &#39;&#39; (10061)
  2. Android开发之SpannableString具体解释
  3. Android中的消息机制:Handler消息传递机制 分类: H1_ANDROID 2013-10-27 22:54 1755人阅读 评论(0) 收藏
  4. mysqldump备份脚本
  5. 在CentOS上使用Nginx和Tomcat搭建高可用高并发网站
  6. SendMessageTimeout 的使用
  7. 《写给大忙人看的Java SE 8》——Java8新特性总结
  8. Methods and systems to control virtual machines
  9. [Ramda] Create an Array From a Seed Value with Ramda&#39;s unfold
  10. HDU 1422 重温世界杯 - 贪心