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没有工作。请帮我解决这个问题 –

相关问题