【问题标题】:query MS access database with LINQ in c# [duplicate]在c#中使用LINQ查询MS access数据库[重复]
【发布时间】:2011-11-22 16:32:10
【问题描述】:

可能重复:
Query Microsoft Access MDB Database using LINQ and C#

我正在使用 MS Access 数据库,想知道我是否可以使用 LINQ 来查询这个数据库?我阅读了有关数据集的信息,但通过阅读:http://blogs.msdn.com/b/adonet/archive/2007/01/26/querying-datasets-introduction-to-linq-to-dataset.aspx 我看到通过数据集可以访问的数据库不多。谁能帮我解决这个问题?谢谢:)

【问题讨论】:

标签: c# database linq visual-studio-2008 ms-access-2003


【解决方案1】:

很遗憾 LINQ 不支持访问数据库。作为解决方法,您可以使用 Ado.net DataSet 从数据库中提取数据

//create the connection string
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\myDatabase.mdb";

//create the database query
string query = "SELECT * FROM MyTable";

//create an OleDbDataAdapter to execute the query
OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString);

//create a command builder
OleDbCommandBuilder cBuilder = new OleDbCommandBuilder(dAdapter);

//create a DataTable to hold the query results
DataTable dTable = new DataTable();

//fill the DataTable
dAdapter.Fill(dTable);

然后你可以使用 LINQ to object 来做你的查询(即使我不建议你使用这种方法,因为性能不是很好)

var results = from myRow in dTable.AsEnumerable()
where myRow.Field<int>("RowNo") == 1
select myRow;

【讨论】:

    【解决方案2】:

    These 伙计们开发了一个 Linq2Access 项目。我从未使用过它,也不知道它的质量或成熟度,但它可能值得一试。

    【讨论】:

      猜你喜欢
      • 2010-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      相关资源
      最近更新 更多