在 .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 是实验性版本,可能存在未适配或未实现的方法,不建议生产环境使用)。

相关推荐
敲个大西瓜9 小时前
Redis一百道核心面试题
数据库·redis·缓存
神罚天下ET11 小时前
c# ACME client (补充)
开发语言·c#
無a伟12 小时前
Redis持久化详解:RDB与AOF原理、配置、优缺点
数据库
小罗水12 小时前
附录A 各微服务完整 application.yml 配置汇总
数据库·elasticsearch·微服务
muddjsv12 小时前
SQLite 外键进阶:CASCADE / SET NULL / 级联更新与完整性校验
数据库·sqlite
APItesterCris12 小时前
Open Claw 实战教程:5 分钟搭建京东商品自动化监控与数据分析系统
大数据·运维·数据库·数据仓库·自动化
Nturmoils13 小时前
查库存的 SQL 时灵时不灵,最后发现是 WHERE 里两个函数在打架
数据库
de之梦-御风13 小时前
【工业自动化平台】 工程设计-项目分层目录设计(1)
自动化·.net
不想纳尼的青春14 小时前
where = 的作用?会影响性能吗?count(*) 和 count()哪个快?
数据库·oracle
倔强的石头_14 小时前
Spring Boot 接入金仓数据库:配置分层、启动自检与常见错误
数据库