我已经关注this MVC 4 tutorial,但是我遇到了让控制器从现有数据库中读取数据的问题。
我已经改变了我的控制器以覆盖这样的构造函数:
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数据库。
答案 0 :(得分:1)
您收到此消息的原因是.Net不知道如何打开数据库文件,因为您没有在运行ASP.NET代码的服务器上安装MS-Access。
您有两种选择。
安装MS-Access 20007(它将包含“Microsoft.ACE.OLEDB.12.0”的驱动程序) 或者仅从此处(http://www.microsoft.com/en-us/download/details.aspx?id=13255)
下载并安装Access数据库引擎答案 1 :(得分:1)
Microsoft Access没有实体框架提供程序。
如果您想使用便携式数据库进行测试,我建议使用Sql Server CE 4.0或SQLite,两者都有EF提供程序。