文档首页
MySQL Connector/NET 开发者指南
相关文档 下载本手册
PDF (US Ltr) - 1.3Mb
PDF (A4) - 1.3Mb


7.2 Entity Framework Core 支持

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 进行配置

要将 Entity Framework Core 与 MySQL 数据库一起使用,请执行以下操作

  1. 安装 NuGet 包。

    安装 MySql.EntityFrameworkCoreMySql.Data.EntityFrameworkCore 包时,还会安装运行应用程序所需的所有相关包。有关添加 NuGet 包的说明,请参阅相关的 Microsoft 文档

  2. 在从 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");
    }

限制

Connector/NET 实现的 EF Core 具有以下限制

  • 不支持内存优化表。

最大字符串长度

下表显示了 Connector/NET 实现的 EF Core 支持的字符串类型的最大长度。长度值以字节为单位,适用于非二进制和二进制字符串类型,具体取决于使用的字符集。

表 7.3 与 Entity Framework Core 一起使用的字符串的最大长度

数据类型 最大长度 .NET 类型
CHAR 255 string
BINARY 255 byte[]
VARCHARVARBINARY 65,535 stringbyte[]
TINYBLOBTINYTEXT 255 byte[]
BLOBTEXT 65,535 byte[]
MEDIUMBLOBMEDIUMTEXT 16,777,215 byte[]
LONGBLOBLONGTEXT 4,294,967,295 byte[]
ENUM 65,535 string
SET 65,535 string

有关字符串类型的存储要求的更多信息,请参阅 字符串类型存储要求