Entity Framework 5.0中的MySQL提供程序错误

时间:2014-05-22 10:38:33

标签: c# mysql entity-framework-5

我正在使用Entity Framework 5.0和MySQL 6.8.3

我已经将MySql.Data.dll和MySql.Data.Entity.dll都复制到Output文件夹。 在我的电脑上,我将以下代码添加到App.Config:

<system.data>
  <DbProviderFactories>
    <remove invariant="MySql.Data.MySqlClient"/>
    <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data"/>
  </DbProviderFactories>
</system.data>

它工作正常,但是当我将它带到另一台PC时,我必须删除该配置以使其工作。如何在不添加或删除该配置的情况下使其工作?

1 个答案:

答案 0 :(得分:0)

我已经弄清楚了我的问题。此问题是由于项目和Connector / Net中的MySQL冲突造成的。

对于任何人都有同样的问题,请在您的提供商配置中具体说明MySQL dll的版本:

<system.data>
  <DbProviderFactories>
    <remove invariant="MySql.Data.MySqlClient"/>
    <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.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
  </DbProviderFactories>
</system.data>

此版本应与项目引用的dll相同。