EntityFramework可以用于访问Access 2007数据库(.accdb)吗?

5

我正在尝试创建一个使用Access 2007 DB (.accdb)的MVC应用程序。我可以使用DataSet创建模型。但是,如果我尝试使用EntityFramework创建模型,我无法通过VS2008想要将连接字符串设置为SQL服务器。我是漏掉了什么,还是EF与Access不兼容?


1
请参见https://dev59.com/PHRB5IYBdhLWcg3wXWK2。 - Robert Harvey
1个回答

7
实体框架仅适用于支持它的ADO.NET提供程序。为了使用你的Access数据库,我假设你使用了不支持EF的OleDB提供程序。Microsoft只提供了两个支持EF的ADO.NET提供程序:SQL Server和SQL Server CE。但是,你可以找到第三方提供程序来支持其他DBMS: 可能还有许多其他提供程序,但据我所知,没有针对Access的提供程序(在我看来,Access并不是一个很好的DBMS...)

2
没有必要加上最后那个括号。你为什么不把它从你的答案中删除呢?否则你的答案就很好了。 - David-W-Fenton
如果你所说的是真的,那么使用SQL Server和链接服务器来访问Access/Jet/ACE怎么样?然后你可以通过SQL Server访问Jet/ACE数据,就好像它是SQL Server数据一样,对吧? - David-W-Fenton
也许...老实说,我甚至不确定你在说什么...你的意思是说,你能通过SQL Server查询另一个数据库,类似于Oracle的DB链接吗? - Thomas Levesque
SQL Server 允许你挂载其他 SQL Servers 和 Jet/ACE 数据库作为 "linked servers",然后你可以从你的 SQL Server 数据库中使用它们。这有点类似于 Access 的链接表。我猜 Oracle 也提供了类似的功能,但是我对 Oracle 一无所知(我的客户中没有一个愚蠢到使用这么昂贵的数据库)。 - David-W-Fenton
好的...这确实可能是一个选项 - Thomas Levesque

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接