据我所知,.NET 4.5 附带了一系列功能,可以使异步数据库操作更容易实现。 MSDN 表示,如果连接字符串未设置为异步工作,ADO.NET 的任何异步方法都不会以异步方式工作。因此,SqlConnectionStringBuilder 附带了一个名为 AsynchronousProcessing 的属性。
我想知道这些异步功能是否也适用于其他数据库服务器(例如 mysql)?我应该怎样做才能使 aync 使用 .NET 无法识别的非 SQL 数据库? (例如 RavenDB)?
最佳答案
所有驱动的异步方法都在DbDataReader中定义,例如DbDataReader.ReadAsync 。由特定的驱动程序使用特定的实现覆盖这些方法,以利用每个数据库的异步特性并使用例如。自然的异步操作,而不是包装在线程中的同步操作。
也就是说,MySQL Connector/Net 6.8 添加了对 asynchronous operations in Entity Framework 6 的支持但 MySqlDataReader 类不提供 ReadAsync 方法。这是因为 Connector 使用旧的体系结构(2.0 之前的版本),实现 IDataReader 接口(interface),而不是从 .NET 2.0 中引入的通用 DbDataReader 类派生。
关于c# - .NET 4.5 的异步功能是否也适用于 MySql 和其他数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36080852/