0

我已经按照这个 MVC 4 教程进行操作,但是在让控制器从我现有的数据库中读取数据时遇到了问题。

我已经改变了我的控制器来覆盖这样的构造函数:

public ItemDBContext()
        : base("dbName")
    {
    }

但是,当我在调试时尝试访问 /Items 路由时,出现此错误:

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


Line 19:         public ActionResult Index()
Line 20:         {
Line 21:             return View(db.Items.ToList());
Line 22:         }

这是我的连接字符串:

<add name="dbName" connectionString="Data Source=C:\dbName.accdb; Jet OLEDB:Database Password=passWord;" providerName="Microsoft.ACE.OLEDB.12.0"/>

我不确定我到底哪里出错了。我正在尝试将我创建的模型映射到预先存在的数据库,但我无法弄清楚如何使用 MS Access 数据库来做到这一点。

4

2 回答 2

1

Microsoft Access 没有实体框架提供程序。

如果您想使用便携式数据库进行测试,我建议使用 Sql Server CE 4.0 或 SQLite,两者都有 EF 提供程序。

于 2014-02-07T19:23:44.687 回答
1

您收到此消息的原因是 .Net 不知道如何打开 DB 文件,因为您没有在运行 ASP.NET 代码的服务器计算机上安装 MS-Access。

你有两个选择。

安装 MS-Access 20007(它将包括“Microsoft.ACE.OLEDB.12.0”的驱动程序)或仅从此处下载并安装 Access DB 引擎(http://www.microsoft.com/en-us/download/ details.aspx?id=13255 )

于 2013-07-03T02:21:48.873 回答