如何使用 MS Access 作为 ADO.NET 实体框架的提供者?

Posted

技术标签:

【中文标题】如何使用 MS Access 作为 ADO.NET 实体框架的提供者?【英文标题】:How can I use MS Access as a provider for ADO.NET entity framework? 【发布时间】:2009-03-15 16:49:11 【问题描述】:

您知道在 ADO.NET Entity Framework 中使用 MS Access 提供程序吗?

【问题讨论】:

【参考方案1】:

ADO.NET 实体框架旨在与作为标准 ADO.NET 提供程序的任何东西一起使用。访问。

【讨论】:

当我将 ADO.NET 实体数据模型添加到项目中时,我看到 3 个提供程序(它们都是 Microsoft Sql Server 驱动程序)我应该为其添加参考吗? VS 中的设计器在构建初始实体集时仅支持 SQL Server,对于 Access,您将需要使用 OLE DB 提供程序并以困难的方式构建实体集。可悲的是,这确实是一条艰难的道路。我的建议是改用 SQL 2008 Express。 我有同样的问题,所以你提到使用 SQL 2008 Express 代替。我担心这种变化会导致问题???我的网站有很多用户。改变会有问题吗?【参考方案2】:

我不知道这是否会对您有所帮助,但请珍惜它的价值。以下是我在 C# 中连接到 MS-Access 数据库的连接字符串。

我有一个强类型数据集,我将数据放入其中,然后他们在那里对其进行操作。 使用 System.Data.OleDb 命名空间。

sourceString = "\\\DatabaseServer\DatabaseFolder\database.mdb";

conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sourceString;
string strSql1 = "SELECT * FROM IDTable";
OleDbConnection con = new OleDbConnection(conString);

currentDataSet.IDTable.Rows.Clear();
con.Open();
OleDbDataAdapter dAdapter = new OleDbDataAdapter();
dAdapter.SelectCommand = new OleDbCommand(strSql1, con);
dAdapter.Fill(currentDataSet, "IDTable");
con.Close();

【讨论】:

这是如何获得投票的?这与手头的问题无关。 EF 与使用 DataSets 和 DataAdapters 完全不同(ewww,gross)。

以上是关于如何使用 MS Access 作为 ADO.NET 实体框架的提供者?的主要内容,如果未能解决你的问题,请参考以下文章

连接到 MS Access 的 Mono 和 ASP.NET Web 应用程序

在 ADO.NET 中使用 ODBC 调用预定义的 Access 查询

将 INSERT 上的 ID 返回给 Ms Access Db?

如何在 MS Access 2007 中使用查询作为报告源?

在 ASP.Net Core 项目中使用 ADO.Net 将 JSON 类型作为参数传递给 SQL Server 2016 存储过程

需要一个更好的选择然后 ms 访问