Linq核心的組成部分有LINQ to SQL
LINQ to DataSet
LINQ to Entities和LINQ to XML
根據Linq對於其他的集成很快會由微軟或第三方實現
而改技術對於Access數據庫的支持並沒有像SQL Server那麼友好
今天嘗試用Linq查詢Access數據文件時遇到了不少麻煩
在網上搜索後發現很多朋友都遇到了相同的問題
經過反復的嘗試
終於初步完成了Access的查詢
下面是實現步驟
准備
用Access
建立一個users
mdb文件
裡面定義一個users表包括了以下三個字段——ID(int)
Name(文本)
Password(文本)
新建一個控制台程序後
導入改數據連接
VS
會自動的生成與數據表對應的強類型數據集並且完成相應的配置文件
其中關鍵的配置代碼如下
<connectionStrings>
<add name=
Chp
Properties
Settings
usersConnectionString
connectionString=
Provider=Microsoft
ACE
OLEDB
;Data Source=|DataDirectory|\users
accdb;Persist Security Info=True
providerName=
System
Data
OleDb
/>
</connectionStrings>
實現代碼
//定義相關的DataSet和TableAdapter
usersDataSet uDS = new usersDataSet();
usersTableAdapter uTA = new usersTableAdapter();
usersDataSet
usersDataTable uTable = new usersDataSet
usersDataTable(); uTA
ClearBeforeFill=true;
uTA
Fill(uTable);
//通過LinQ查詢users表中用戶名為需要查詢的信息
這裡AsEnumerable()是必須的
//而u
Field<string>(
Name
)==
的意思是判斷是否為需要查詢的類型為string的Name字段
var users = (from u in uTable
AsEnumerable()
where u
Field<string>(
Name
)==
select u)
First();
//打印查詢到的Password
Console
WriteLine(
Password:{
}
users
Field<string>(
Password
) );
總結:其實這裡的Linq查詢Access主要還是通過LINQ to DataSet實現和完成的
但是從實現方式上又是按照了ORM的模式來執行的
不得不說的是Linq為數據的查詢提供了極大的便利
同時也簡化了數據的操作
開始明白微軟為解決Data!=Object的意圖了!
From:http://tw.wingwit.com/Article/program/ASP/201311/21747.html