使用c#中的LINQ查询MS access数据库

本文关键字:MS access 数据库 查询 LINQ 中的 使用 | 更新日期: 2023-09-27 18:09:14

可能重复:
使用LINQ和C#查询Microsoft Access MDB数据库

我正在使用MS access数据库,想知道我是否可以使用LINQ查询这个数据库?我读过关于数据集的文章,但通过阅读以下内容:http://blogs.msdn.com/b/adonet/archive/2007/01/26/querying-datasets-introduction-to-linq-to-dataset.aspx我发现没有多少数据库可以通过数据集访问。有人能帮我解决这个问题吗?感谢:(

使用c#中的LINQ查询MS access数据库

很遗憾,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对象来进行查询(即使我不建议你使用这种方法,因为性能不是很好(

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

这些家伙已经开发了一个Linq2Access项目。我从来没有用过它,也不知道它的质量或成熟度,但它可能值得一看。