使用MySql.Data 6.7.2.0連接器註冊entityFramework

asp.net asp.net-mvc entity-framework-6 mono mysql.data

我試圖配置我的Web項目使用MySQL預發布的.net連接器,版本6.7.2.0。但是,即使我盡力配置我的項目以使用6.7.2.0版本的連接器,我仍然會收到此消息。

就像現在一樣,我一直收到這個錯誤消息:

沒有找到“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>

我從NuGet安裝了EF6 alfa3。目前我的連接器已經從這個下載的文件手動安裝,我試圖從NuGet存儲庫安裝它,但結果完全相同。

一般承認的答案

除了註冊ADO.NET提供程序之外,還需要註冊實體框架提供程序:

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

您還需要確保已針對Entity Framework 6構建提供程序。有關此內容的詳細信息,請參閱此文章


熱門答案

我有一個類似的問題。回滾到EF5和MySql Connector 5.6並且它仍然無法正常工作後,我終於找到了一個有人提到他們必須刪除版本和文化參考的源,以使其工作。不知道為什麼。這裡:

 <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" />




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因