MySQL 连接器/NET 发行说明  / MySQL Connector/Net 6.10 中的变化  /  MySQL Connector/NET 6.10.3 的变化(2017-08-18,发布候选)

MySQL Connector/NET 6.10.3 的变化(2017-08-18,发布候选)

此版本的已知限制:

SSL 协议的使用仅限于 TCP 和 Unix 套接字连接。使用命名管道和共享内存的连接不支持 SSL 模式。

添加或更改的功能

  • 以下方法可用于异步命令和连接操作中的 EF Core:

    • Microsoft.EntityFrameworkCore.DbContext.AddAsync

    • Microsoft.EntityFrameworkCore.DbContext.AddRangeAsync

    • Microsoft.EntityFrameworkCore.DbContext.FindAsync

    • Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync

    • Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.EnsureDeletedAsync

    • Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.EnsureCreatedAsync

    • Microsoft.EntityFrameworkCore.DbContext.ToListAsync

  • 扩展了对使用 Unix 域套接字文件的连接的支持,以包括在 .NET Core 场景中部署在 Linux 主机上的 MySQL 服务器。要指定 Unix 域套接字连接,请将Server连接字符串选项的值设置为套接字文件的路径,并将该 Protocol选项设置为unix. 例如:

    "server=/path/to/socket;protocol=unix;user=root;password=mypass"
  • 和连接字符串选项不适用于面向 .NET Core 且现在在使用时返回错误的应用程序 AutoEnlistIncludeSecurityAsserts

  • EF Core:添加了对显式加载的支持。显式加载是 EF Core 1.1.0 中引入的一种对象关系映射器 (O/RM) 模式,它使 .NET 开发人员可以在以后从数据库中显式加载相关数据。

  • EF Core:添加了对来自多个数据库的 DbContext 脚手架的支持。通过指定多个数据库(或表模式),生成的实体类是在单个上下文中创建的。

    EF Core CLI 使用示例:

    dotnet ef dbcontext scaffold "connection-string" MySql.Data.EntityFrameworkCore --schema world --schema sakila

    程序包管理器控制台 (Visual Studio) 使用示例:

    Scaffold-DbContext "connection-string" MySql.Data.EntityFrameworkCore -Schemas world,sakila
  • 以 .NET Core 为目标的应用程序目前不支持使用以下连接字符串选项,现在使用时会返回错误:

    • SharedMemoryName

    • IntegratedSecurity

    • PipeName

    • Logging

    • UseUsageAdvisor

    • UsePerformanceMonitor

    • InteractiveSession

    • Replication

修正错误

  • EF Core:类中的某些方法 DbContext不支持用于异步操作。(漏洞 #26448321,漏洞 #84814)

  • EF Core:尝试提交FirstOrDefaultAsync 调用该方法的事务时,连接器返回 System.InvalidOperationException: Connection must be valid and open to commit transaction 而不是提交事务。(错误#26026972,错误#86199)