2

我從http://dev.mysql.com/downloads/connector/net/ASP.Net MVC與MySQL - 無法找到所請求的.NET Framework數據提供

我將它作爲我的asp.net MVC網站的引用安裝了MySQL連接6.6.5(請看下面的截圖),並將「Copy local」更改爲true。

然而,當我站上罰球線:var calls = db.Calls.ToList();我得到的錯誤:

Unable to find the requested .Net Framework Data Provider. It may not be installed.

您說明我的代碼。任何人都可以讓我知道我錯過了什麼嗎?

謝謝,馬克

控制器Call.cs:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using MySql.Data; 
using MySql.Data.Entity; 
using MySql.Data.MySqlClient; 
using MySql.Web; 
using System.Data; 

namespace bm.Controllers 
{ 
public class CallController : Controller 
{ 
    private CallContext db = new CallContext(); 

    // 
    // GET: /Calls/ 
    public ActionResult Index() 
    { 
     var calls = db.Calls.ToList(); 
     return View(calls); 
    } 
    } 
} 

CallContext.cs

using bm.Models; 
using System.Data.Entity; 
public class CallContext : DbContext 
{ 
    static CallContext() 
    { 

    } 
    public CallContext() 
     : base("callsConn") 
    { 

    } 

    public DbSet<Call> Calls { get; set; } 
} 

的Web.Config連接字符串:

<connectionStrings> 
    <add name="callsConn" connectionString="Server=xxx;Port=3306;Database=xxxx;Uid=root;Pwd=;" providerName="MySql.Data.MySqlClient" /> 
</connectionStrings> 

參考文獻:

References

回答

13

更新

我似乎通過添加以下到我的web.config已經解決了這個:

<system.data> 
    <DbProviderFactories > 
     <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.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 
    </DbProviderFactories> 
    </system.data> 

希望它幫助別人。

馬克

+0

它做了:)謝謝! – LueTm

+0

我有一個不同的客戶端版本。我如何找出版本和publickeytoken? – Luc

+0

我收到了「無法找到或加載註冊的.Net Framework數據提供程序」錯誤。在本地電腦一切工作正常,但是當我主持godaddy沒有工作。請幫我解決這個問題 –

相關問題