2013-05-27 67 views
1

我试图配置我的web项目以使用.net连接器版本6.7.2.0的MySQL预发行版。但是,即使我尽我所能地配置我的项目以使用6.7.2.0版本的连接器,我也不断收到此消息。使用MySql.Data注册entityFramework 6.7.2.0连接器

因为它是现在,我不断收到这样的ErrorMessage:

发现 'MySql.Data.MySqlClient' ADO.NET提供无实体框架提供。确保提供程序在应用程序配置文件的'entityFramework'部分中注册。有关更多信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882

我已经尝试了不同的方法来配置我的Web.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, Version=6.7.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 
    </DbProviderFactories> 
    </system.data> 
    <entityFramework> 
    <defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" /> 
    </entityFramework> 

我已经安装了EF6 alfa3从的NuGet。目前我的连接器已经从this downloaded file手动安装,我尝试从NuGet存储库安装,但结果完全相同。

+0

我的建议是不要使用EF使用Mono。如果你需要Mono中的ORM,请使用NHibernate,它在Linux中有完全的支持。通常,关于在Mono中运行MVC的建议是删除实体框架dll –

+0

因为在版本EF6中EF会在Mono中受支持,所以我真的很想坚持实体框架。 但是我得到的错误信息是在我的Windows环境中。 – Gunnar

回答

2

除了注册的ADO.NET提供者,你需要注册的实体框架提供:

<entityFramework> 
    <providers> 
    <provider invariantName="MySql.Data.MySqlClient" 
       type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity" /> 
    </providers> 
</entityFramework> 

你还需要确保供应商已建成对实体框架6.请参阅this article更多这方面的信息。

+0

我有一个与OP的消息非常相似的错误。 (我的'没有实体框架提供程序为ADO.NET提供程序找到不变的名称'MySql.Data.MySqlClient'。)@ bricelam的答案修复了错误。 – Theophilus

1

我有类似的问题。在回滚到EF5和MySql Connector 5.6后,它仍然无法正常工作,我终于找到了一个feed,有人提到他们必须删除版本和文化参考才能使其正常工作。不知道为什么。在这里:

<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, PublicKeyToken=c5687fc88969c44d" /> 
    </DbProviderFactories> 
    </system.data> 
    <entityFramework> 
<defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />