为了准确起见,以下实体框架6项被重命名:
NuGet包-
MySql.Data.EntityFramework
(是MySql.Data.Entity
)名称空间,
MySql.Data.EntityFramework
(是MySql.Data.Entity
)组装,
MySql.Data.EntityFramework.dll
(是MySql.Data.Entity.EF6.dll
)
(错误# 26396260)
文档存储:的
SessionConfigManager。更新
方法被移除,并且SessionConfigManager。保存
方法现在总是用给定的键覆盖数据。例如:SessionConfigManager。保存( "mysess", "{ \"uri\": \"mysqlx://myuser@localhost/mysess\", \"appdata\": { \"biz\": \"quux\" } }" ); SessionConfigManager.Save( "mysess", "{ \"uri\": \"mysqlx://test@localhost/mysess\", \"appdata\": { \"tar\": \"zzzz\" } }" );
的
mysess.uri
而且mysess.appdata
第一个语句设置的值将被第二个语句设置的新值替换。(Bug #25829054, Bug #25860579)MySQL Connector/NET现在支持将MySQL服务器配置为使用utf8mb4作为默认字符集。
以下方法可用于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
文档存储:下面的方法直接执行,而前面的每个方法都是必需的
. execute ()
作为方法链中的最后一项:BaseSession。DropSchema
收集。DropIndex
模式。DropCollection
模式。DropView
此外,即使要删除的对象不存在,这些方法现在也会成功。
的
AutoEnlist
而且IncludeSecurityAsserts
connect -string选项不适用于目标为。net Core的应用程序,在使用时返回错误。英孚的核心:添加了对显式加载的支持。显式加载是EF Core 1.1.0中引入的一种对象-关系映射器(O/RM)模式,它使. net开发人员能够在以后显式地从数据库加载相关数据。
以下连接字符串选项目前不被目标为。net Core的应用程序所支持,并且在使用时返回错误:
SharedMemoryName
IntegratedSecurity
PipeName
日志记录
UseUsageAdvisor
UsePerformanceMonitor
InteractiveSession
复制
文档存储:为了提供安全的事务性文档和行更新,添加了以下新方法:
FindStatement。LockShared
FindStatement。LockExclusive
TableSelectStatement。LockShared
TableSelectStatement。LockExclusive
的
LockShared ()
而且LockExclusive ()
方法可以被调用任意次数Collection.Find ()
或Table.Select ()
方法链和任何组合。如果对方法进行多次调用,则只调用最后一个方法。有关这两种类型锁定的更多信息,请参见共享和独占锁。文档存储:在创建一个新的会话时,可以尝试多个主机,直到成功建立连接。主机列表可以在连接字符串中给出,也可以作为会话创建选项,有或没有优先级。
var mySession = MySQLX。GetSession("mysqlx://dbuser:password@[" + "(address=localhost:33060, priority=90)," + "(address=192.1.10.10:33060, priority=100)," + "(address=[2001:db8:85a3:8d3:1319:8a2e:370:7348]:33060, priority=30)"+ "]");var mySession = MySQLX。GetSession(“用户= dbus;”+ "密码= dbpassword;“+ "server=" + "(address=192.1.10.10, priority=90)," + "(address=server.example.com, priority=100)," + "(address=localhost, priority=30);"+ "port=33060;");
文档存储:的
在
而且不是在
方法可求值的操作数范围已更新为扩展Find ()
,修改()
,Remove ()
的方法Select ()
,Update ()
,Delete ()
表的方法。此更新支持使用以下语法的表达式:compExpr ["NOT"] "IN" compExpr
前面的语法使用with
在
而且不是在
运算符仍然有效,并且当两者都出现时,它优先于新语法。文档存储:添加了一些新的直接执行方法
集合
类在单个文档级别上操作,而不像其他CRUD方法在匹配筛选器的所有文档上操作。新的方法是:ReplaceOne ()
,AddOrReplaceOne ()
,GetOne ()
,RemoveOne ()
。对使用Unix域套接字文件连接的支持被扩展到包括部署在Linux主机上的MySQL服务器。
协议连接示例:
“服务器=/ /套接字/路径;协议= unix;用户=根;密码=mypass”;ssl-mode =没有
经典的MySQL协议连接示例:
“服务器=/ /套接字/路径;协议= unix;用户=根;密码=mypass"
的帐户现在可以连接到MySQL服务器
sha256_password
插件。有关更多信息,请参见SHA-256可插认证。此外,还添加了一个新的连接选项,以扩展对使用X协议(使用基本或URI连接字符串)并作为匿名类型建立的连接的身份验证支持。的
身份验证
连接选项启用MYSQL41
,平原
,或外部
如果服务器支持认证机制。的描述身份验证
选项,看到仅X协议选项。
NuGet包中的程序集没有完全签名。(错误# 26739307)
英孚的核心:的一些方法
DbContext
类不支持与异步操作一起使用。(Bug #26448321, Bug #84814)文档存储:根据设计,连接器的早期版本不支持在客户端故障转移情况下连接到服务器时的优先级分配。现在可以使用基于优先级的故障转移。(错误# 26198794)
英孚的核心:当试图提交事务时,其中包含
FirstOrDefaultAsync
方法,则返回连接器系统。InvalidOperationException:连接必须有效并打开以提交事务
而不是提交事务。(Bug #26026972, Bug #86199)文档存储:对象传入0或更低的值
限制
方法现在生成一个更相关的错误消息,指示实参超出范围。(错误# 24384660)文档存储:将NULL值作为参数传递给
DbDoc。SetValue
方法导致异常。此修正确保此方法接受NULL。(错误# 23542093)