在 .NET 中将 EF Core 升级到 9.0.5 MySQL 连接提示 get_LockReleaseBehavior

前言

今天咱们把 Microsoft.EntityFrameworkCore 升级到 9.0.5 最新版本,然后进行 MySQL 连接操作提示下面异常:

Method 'get_LockReleaseBehavior' in type 'Pomelo.EntityFrameworkCore.MySql.Migrations.Internal.MySqlHistoryRepository' from assembly 'Pomelo.EntityFrameworkCore.MySql, Version=8.0.3.0, Culture=neutral, PublicKeyToken=2cc498582444921b' does not have an implementation.

问题原因

出现以上异常的主要原因就是因为 Pomelo.EntityFrameworkCore.MySql 程序集和 Microsoft.EntityFrameworkCore 程序集版本不兼容,Pomelo.EntityFrameworkCore.MySql 8.x 版本中未实现 Microsoft.EntityFrameworkCore 9.x 中的 get_LockReleaseBehavior 方法。

发现Pomelo.EntityFrameworkCore.MySql项目仓库的 Issues 中有不少人反馈这个问题: https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/issues/1944

并且 MySQL 官网中也有人反馈这个问题: https://bugs.mysql.com/bug.php?id=116691

解决方案

1、将 Microsoft.EntityFrameworkCore 包降级到 9.0.0 以下版本即可。

2、将 Pomelo.EntityFrameworkCore.MySql 包升级到 最新预发行版 9.0.0-preview.3.efcore.9.0.0 预发布版本(注意:9.0.0-preview 是实验性版本,可能存在未适配或未实现的方法,不建议生产环境使用)。

相关推荐
2301_809204701 小时前
bootstrap怎么实现鼠标悬停切换图片预览功能
jvm·数据库·python
小短腿的代码世界6 小时前
Qt 股票订单撮合引擎:高频交易系统的核心心脏
开发语言·数据库·qt·系统架构·交互
JosieBook6 小时前
【数据库】时序数据库选型指南:从数据模型到大模型智能分析
数据库·时序数据库
光泽雨7 小时前
c#中的“跨界找人”
c#
小猿姐7 小时前
Clickhouse Kubernetes Operator 实测:哪种方案更适合生产?
运维·数据库·kubernetes
2501_921939267 小时前
MHA高可用
数据库·mysql
_Evan_Yao8 小时前
MySQL 基础:SELECT、WHERE、JOIN 的第一次使用
数据库·mysql
yuan199978 小时前
基于 C# 实现的 Omron HostLink (FINS) 协议 PLC 通讯
开发语言·c#
weixin_444012938 小时前
c++如何将std--vector直接DUMP到二进制文件_指针地址直写【附代码】
jvm·数据库·python
woxihuan1234569 小时前
Go语言中--=运算符详解:位右移赋值操作的原理与应用
jvm·数据库·python