1. 程式人生 > >EntityFrameworkCode 操作MySql 相關問題

EntityFrameworkCode 操作MySql 相關問題

ble con image mage 分享圖片 contents ppi type bject

近段時間,由於工作原因,使用到了EntityFrameworkCore 操作MySql數據庫,使用中遇到一些問題,特此記錄

系統環境 Win10 1805,VS 2017,Framework:Asp.NetCore 2.0

1. InvalidCastException: Unable to cast object of type ‘ConcreteTypeMapping‘ to type ‘Microsoft.EntityFrameworkCore.Storage.RelationalTypeMapping‘.

項目依賴相關信息

Asp.NetCore2.0 , EntityFrameworkCore 2.1.0~2.1.3 穩定版 , MySql.Data.EntityFrameworkCore 6.10.7~8.0.12 穩定版

錯誤詳細

技術分享圖片

如何解決

通過閱讀 MySql.Data.EntityFrameworkCore 官方文檔 得出結論 可能是MySql.Data.EntityFrameworkCore 與 EntityFramework Core 版本不兼容所致。

更換 MySql.Data.EntityFrameworkCore或者EntityFramework Core與之相兼容的版本即可。

這裏我切換的版本為

Asp.Net Core 2.0 & EntityFrameworkCore 2.0.3 & MySql.Data.EntityFrameworkCore 8.0.12

具體版本對應參照如下 (官方地址)

MySql.Data.EntityFrameworkCore Supported versions of Entity Framework Core
Connector/NET EF Core 1.1 EF Core 2.0 EF Core 2.1
6.10.4 .NET Standard 1.3 or .NET Framework 4.5.2 (and later) Not supported Not supported
6.10.5 to 6.10.7 .NET Standard 1.3 or .NET Framework 4.5.2 (and later) .NET Standard 2.0 only (.NET Framework is not supported)
Scaffolding is not supported
Not supported
6.10.8 .NET Standard 1.3 or .NET Framework 4.5.2 .NET Standard 2.0 or .NET Framework 4.6.1 (and later) Not supported
8.0.11 to 8.0.12 .NET Standard 1.6 or .NET Framework 4.5.2 (and later) .NET Standard 2.0 only (.NET Framework is not supported)
Scaffolding is not supported
Not supported
參考文章

MySQL Connector/NET Developer Guide

MySql(Entity Framework Core Support)

數據庫提供程序(Microsoft Docs)

EntityFrameworkCode 操作MySql 相關問題