2013-05-27 70 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" />