我使用解决方法在过去3个月内打开和关闭了mysql连接器的问题。我最近提交了bug report。但是,我发现在高级linq使用情况下,多个mysql连接器实例失败。有些可以追溯到2009年(3年),仍然没有得到解决。几乎在每个实例中,用户都切换了连接器。
我正在考虑做同样的事情。但是,我偶然发现我的项目中存在mysql连接器的位置。据我所知,它只是一个包含.dll
(mysql.data和mysql.data.entity)。之后,仅在web.config中引用它。
连接符的第一个引用位于连接字符串providerName = "MySql.Data.MySqlClient"
。
第二个参考是提供者的定义
<system.data>
<DbProviderFactories>
<clear />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, mysql.data, Version=6.5.4.0,
Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
第三个是在议会内部
<add assembly="mysql.data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
最后一个是另一个汇编参考
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.5.4.0" newVersion="6.5.4.0" />
</dependentAssembly>
这真的是连接器的整体尺寸吗?
答案 0 :(得分:0)
Is this really the whole footprint of the connector?
是和否。
是强>
就涉及连接器的项目而言,这是整个足迹。唯一需要进行的配置是添加MySql.Data
和MySql.Data.Entity
作为项目的引用。通常这些文件位于packages
文件夹中,然后在添加引用后将其复制到bin
文件夹中。
否强>
连接器有很多内部代码。由于它的定义位置,连接器继承DbProviderFactory
并在{{1}}上扩展。这个扩展涉及许多类和子类,它们决定了如何实现与mysql的交互。因为它是开源的,所以可以从oracle下载实际的代码。