2

我已经从http://dev.mysql.com/downloads/connector/net/安装了 MySql 连接器 6.6.5

我已在我的 asp.net MVC 网站中添加它作为参考(请参阅下面的屏幕截图),并将“复制本地”更改为 true。

但是,当我到达线路时:var calls = db.Calls.ToList();我收到错误:

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

我在下面包含了我的代码。谁能让我知道我错过了什么?

谢谢,马克

控制器调用.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>

参考:

参考

4

1 回答 1

14

更新

我似乎已经通过将以下内容添加到我的 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>

希望它可以帮助别人。

标记

于 2013-05-28T09:27:03.457 回答