在 .NET 中將 EF Core 升級(jí)到 9.0.5 MySQL 連接提示 get_LockReleaseBehavior
前言
今天咱們把 Microsoft.EntityFrameworkCore 升級(jí)到 9.0.5 最新版本,然后進(jìn)行 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.

問(wèn)題原因
出現(xiàn)以上異常的主要原因就是因?yàn)?Pomelo.EntityFrameworkCore.MySql 程序集和 Microsoft.EntityFrameworkCore 程序集版本不兼容,Pomelo.EntityFrameworkCore.MySql 8.x 版本中未實(shí)現(xiàn) Microsoft.EntityFrameworkCore 9.x 中的 get_LockReleaseBehavior 方法。
發(fā)現(xiàn)Pomelo.EntityFrameworkCore.MySql項(xiàng)目倉(cāng)庫(kù)的 Issues 中有不少人反饋這個(gè)問(wèn)題: https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/issues/1944

并且 MySQL 官網(wǎng)中也有人反饋這個(gè)問(wèn)題: https://bugs.mysql.com/bug.php?id=116691

解決方案
1、將 Microsoft.EntityFrameworkCore 包降級(jí)到 9.0.0 以下版本即可。
2、將 Pomelo.EntityFrameworkCore.MySql 包升級(jí)到 最新預(yù)發(fā)行版 9.0.0-preview.3.efcore.9.0.0 預(yù)發(fā)布版本(注意:9.0.0-preview 是實(shí)驗(yàn)性版本,可能存在未適配或未實(shí)現(xiàn)的方法,不建議生產(chǎn)環(huán)境使用)。

作者名稱:追逐時(shí)光者
作者簡(jiǎn)介:一個(gè)熱愛(ài)編程、善于分享、喜歡學(xué)習(xí)、探索、嘗試新事物和新技術(shù)的全棧軟件工程師。
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出原文鏈接,否則保留追究法律責(zé)任的權(quán)利。如果該篇文章對(duì)您有幫助的話,可以點(diǎn)一下右下角的【♥推薦♥】,希望能夠持續(xù)的為大家?guī)?lái)好的技術(shù)文章,文中可能存在描述不正確的地方,歡迎指正或補(bǔ)充,不勝感激。

浙公網(wǎng)安備 33010602011771號(hào)