MySQL Connector/NET 整合了對 Entity Framework Core (EF Core) 的支援。EF Core 的需求和組態取決於安裝的 Connector/NET 版本以及您需要的功能。使用下表評估最低需求。
表 7.2 Connector/NET 版本和 Entity Framework Core 支援
Connector/NET | EF Core 9.0 | EF Core 8.0 | EF Core 7.0 | EF Core 6.0 |
---|---|---|---|---|
9.1.0 | .NET 9 預覽版、.NET 8、.NET 6 | 不支援 | .NET 6 | |
9.0.0 | .NET 8、.NET 6 | 不支援 | .NET 6 | |
8.3.0 和 8.4.0 | 不支援 | .NET 8、.NET 7、.NET 6 | .NET 7、.NET 6 | .NET 6 |
8.2.0 | 不支援 | .NET 8 預覽版 | .NET 7 | .NET 6 |
8.1.0 | 不支援 | 不支援 | .NET 7 | .NET 6 |
8.0.33 | 不支援 | 不支援 | .NET 7 | .NET 6 |
8.0.28 | 不支援 | 不支援 | 不支援 | .NET 6 |
8.0.23 至 8.0.27 | 不支援 | 不支援 | 不支援 | EF Core 6.0 預覽版 |
在本節中
EF Core 支援的一般需求
伺服器版本:MySQL 8.0 或更新版本
Entity Framework Core 套件 (將
n
取代為有效數字以完成套件的完整版本)MySql.EntityFrameworkCore
8.0.n
+MySQL8.n
MySql.EntityFrameworkCore
6.0.n
+MySQL8.n
Connector/NET 支援的 .NET Standard 或 .NET Framework 的實作 (請參閱表 7.2,“Connector/NET 版本和 Entity Framework Core 支援”)
.NET | .NET Core SDK
適用於所有支援平台的 .NET 8.0: https://dotnet.microsoft.com/es-es/download/dotnet/8.0
適用於所有支援平台的 .NET 6.0: https://dotnet.microsoft.com/download/dotnet/6.0
適用於 Microsoft Windows 的 .NET Core: https://www.microsoft.com/net/core#windowscmd
適用於 Linux 的 .NET Core: https://www.microsoft.com/net/core#linuxredhat
適用於 macOS 的 .NET Core: https://www.microsoft.com/net/core#macos
選用:Microsoft Visual Studio 2017、2019、2022 或 Code
注意如需使用 Connector/NET 的 Visual Studio 最低版本,請參閱表 2.1,“相關產品的 Connector/NET 需求”。
使用 MySQL 的組態
若要將 Entity Framework Core 與 MySQL 資料庫搭配使用,請執行下列操作
安裝 NuGet 套件。
當您安裝
MySql.EntityFrameworkCore
或MySql.Data.EntityFrameworkCore
套件時,系統會為您安裝執行應用程式所需的所有相關套件。如需新增 NuGet 套件的指示,請參閱相關的 Microsoft 文件。在衍生自
DbContext
類別的類別中,覆寫OnConfiguring
方法,以使用UseMySQL
設定 MySQL 資料提供者。下列範例示範如何在 C# 中使用一般連線字串設定提供者。protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { #warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings. optionsBuilder.UseMySQL("server=localhost;database=library;user=user;password=password"); }
限制
EF Core 的 Connector/NET 實作有下列限制
不支援記憶體最佳化資料表。
最大字串長度
下表顯示 EF Core 的 Connector/NET 實作支援的字串類型最大長度。長度值以位元組為單位,適用於非二進位和二進位字串類型,具體取決於使用的字元集。
表 7.3 與 Entity Framework Core 搭配使用的字串最大長度
資料類型 | 最大長度 | .NET 類型 |
---|---|---|
CHAR |
255 | string |
BINARY |
255 | byte[] |
VARCHAR 、VARBINARY |
65,535 | string 、byte[] |
TINYBLOB 、TINYTEXT |
255 | byte[] |
BLOB 、TEXT |
65,535 | byte[] |
MEDIUMBLOB 、MEDIUMTEXT |
16,777,215 | byte[] |
LONGBLOB 、LONGTEXT |
4,294,967,295 | byte[] |
ENUM |
65,535 | string |
SET |
65,535 | string |
如需有關字串類型儲存需求的詳細資訊,請參閱字串類型儲存需求。