談到dlinq,就不得不先說linq。讓我們先看看什麼是linq。linq是 language integrated query的縮寫。那麼事實上dlinq就是 database language integrated query 的縮寫。linq和dlinq最大的區別就在與linq是對記憶體進行操作,而dlinq的操作物件為資料庫。
我們先來看乙個linq的例子。在這之前,你需要安裝s2008 beta2版本。可以到
微軟也提供了好多學習的地方。先給出幾個鏈結。
default.aspx?pull=/library/en-us/dndotnet/html/linqprojectovw.asp
好,我們先來看乙個linq的例子。這個例子可以從linq的說明文件上得到。
1system;
2using
system.query;
3using
system.collections.generic;45
class
11ienumerable
<
string
>
expr
=from s
innames
12where s.length ==5
13orderby s
14select s.toupper();
1516
foreach
(string
item
inexpr)
17console.writeline(item);
1819
20你可能感覺比較陌生。放心,這大概是第一次看到緣故。在這裡像 from ,where,orderby, select等都是linq的保留字,都該用藍色顯示的,但是好像cnblogs還沒有開始支援。所以插入**時,他們就被當作普通字元了。
其實,query expression看起來和sql語句很像。 比如 select * from table1 where column1 = "";
我第一次看到linq時,就感覺是寫在程式裡的sql語句。只不過,以前我們都是用string型別形成乙個sql語句,然後通過command或adapter傳到sql server中。而現在,感覺就像把sql語句直接當成程式**來實現。這只不過是我們的乙個錯覺。
這個例子,只不過是從乙個string的陣列中,提取出長度為5的,並且把提取的資料全部變成大寫。
ienumerable
使用到了c#2.0中的泛型。 該列子的結果,返回乙個資料集,存放到expr中。 在這裡,從那個資料集中取的結果,是用in 表達的,如列所示,
from
s in names , 在names集合中,取出s。s代表一條條紀錄。where
表示條件,orderby
表示按什麼排序。select
選擇那些字段組成變數。這裡,你可能會覺得奇怪,s變數在那裡宣告的呢。我第一看到這裡的時候,也感到奇怪。其實s變數是names變數裡的元素,你在in names 時,已經宣告了s變數。
在這個列子中,大家可以先感受一下linq,在隨後的章節中,我會為大家介紹更多。對記憶體陣列的查詢,並不能顯示出linq的強大功能,對資料庫的操作,才使得linq更加具有實際意義。
在隨後的章節中,我將逐漸介紹dlinq的語法。
C 3 0 入門系列(一)
談到dlinq,就不得不先說linq。讓我們先看看什麼是linq。linq是 language integrated query的縮寫。那麼事實上dlinq就是 database language integrated query 的縮寫。linq和dlinq最大的區別就在與linq是對記憶體進行操...
C 3 0 入門系列(一)
談到dlinq,就不得不先說linq。讓我們先看看什麼是linq。linq是 language integrated query的縮寫。那麼事實上dlinq就是 database language integrated query 的縮寫。linq和dlinq最大的區別就在與linq是對記憶體進行操...
C 3 0 入門系列 linq (一)
談到dlinq 就不得不先說linq 讓我們先看看什麼是linq linq 是language integrated query 的縮寫。那麼事實上dlinq 就是database language integrated query 的縮寫。linq 和dlinq 最大的區別就在與linq 是對記憶...