MySQL连接器/NET集成了对实体框架核心(EF Core)的支持。EF Core的需求和配置取决于所安装的Connector/NET的版本和所需的特性。使用下面的表格来评估最低需求。
表7.2连接器/NET版本和实体框架核心支持
连接器/净 | EF Core 2.1 | EF Core 3.1.1 | EF Core 5.0 |
---|---|---|---|
8.0.23 | 不支持 | .NET标准2.0 | .NET标准2.1 (特征集相当于EF Core 3.1.1) |
8.0.20 ~ 8.0.22 | 不支持 | .NET标准2.0 | 不支持 |
8.0.18至8.0.19 | .NET Standard 2.0或.NET Framework 4.6.1(及更高版本) | 不支持 | 不支持 |
8.0.13至8.0.17 | .NET Standard 2.0或.NET Framework 4.6.1(及更高版本) | 不支持 | 不支持 |
8.0.11至8.0.12 | 不支持 | 不支持 | 不支持 |
在本节中:
EF核心支撑的一般要求
连接器/净8.0
MySQL 8.0服务器(或MySQL 5.7)
实体框架核心包:
MySql。EntityFrameworkCore
5.0.0 + m8.0.2x
和3.1.10 + m8.0.2x
(连接器/NET 8.0.23及更高版本)MySql.Data.EntityFrameworkCore
8.0.2x
(连接器/NET 8.0.22及更早版本)
的实现net标准)或连接器/NET支持的。NET框架(参见表7.2,“连接器/NET版本和实体框架核心支持”)
.NET | .NET Core SDK
所有支持平台的。net 5.0:https://dotnet.microsoft.com/download/dotnet/5.0
.NET Core for Microsoft Windows:https://www.microsoft.com/net/core#windowscmd
.NET Linux核心:https://www.microsoft.com/net/core#linuxredhat
.NET Core for macOS:https://www.microsoft.com/net/core#macos
可选:Microsoft Visual Studio 2015、2017、2019或Code
请注意对于EF Core 3.1, Visual Studio 2019版本16.3是最低的。
MySQL配置
要在MySQL数据库中使用实体框架核心,请执行以下操作:
安装NuGet包。
当你安装
MySql。EntityFrameworkCore
或MySql.Data.EntityFrameworkCore
包,运行应用程序所需的所有相关包都已为您安装。有关添加NuGet包的说明,请参阅相关章节微软文档10bet官方网站.在派生的类中
DbContext
类,重写OnConfiguring
方法来设置MySQL数据提供程序UseMySQL
.下面的示例演示如何在c#中使用通用连接字符串设置提供程序。为了保护连接字符串中潜在的敏感信息,你应该将其移出源代码。有关存储连接字符串的指导,请参见http://go.microsoft.com/fwlink/?LinkId=723263。optionsBuilder.UseMySQL(“服务器= localhost;数据库=图书馆;用户=用户;密码=密码”);}
限制
EF Core的Connector/NET实现有以下局限性:
不支持内存优化表。
最大字符串长度
下表显示了EF Core的Connector/NET实现支持的字符串类型的最大长度。对于非二进制和二进制字符串类型,长度值以字节为单位,取决于使用的字符集。
表7.3实体框架核心使用的字符串的最大长度
数据类型 | 最大长度 | net类型 |
---|---|---|
字符 |
255 | 字符串 |
二进制 |
255 | byte [] |
VARCHAR ,VARBINARY |
65535年 | 字符串 ,byte [] |
TINYBLOB ,非常小的文本串 |
255 | byte [] |
团 ,文本 |
65535年 | byte [] |
MEDIUMBLOB ,简单 |
16777215年 | byte [] |
LONGBLOB ,量变 |
4294967295年 | byte [] |
枚举 |
65535年 | 字符串 |
集 |
65535年 | 字符串 |
有关字符串类型存储要求的其他信息,请参见存储要求.