LINQ查詢表達(dá)式基礎(chǔ)描述
本文向大家介紹LINQ查詢表達(dá)式,可能好多人還不了解LINQ查詢表達(dá)式,沒(méi)有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。
LINQ使查詢成為了.NET中頭等的編程概念,被查詢的數(shù)據(jù)可以是XML(LINQ to XML)、Databases(LINQ to SQL、LINQ to Dataset、LINQ to Entities)和對(duì)象(LINQ to Objects)。LINQ也是可擴(kuò)展的,允許你建立自定義的LINQ數(shù)據(jù)提供者(比如:LINQ to Amazon、LINQ to NHibernate、LINQ to LDAP)。在這里我會(huì)討論C#3.0中的一些新的語(yǔ)言特性和改進(jìn),正是它們使得LINQ變得如此強(qiáng)大~~
LINQ查詢表達(dá)式提供了一個(gè)語(yǔ)言集成的語(yǔ)法來(lái)查詢,它特別像關(guān)系和層次查詢語(yǔ)言比如SQL和XQuery。使用LINQ操作符(也就是from...where...select)寫查詢很方便,Visual Studio為它提供了很好的智能感知和編譯時(shí)的檢查支持。當(dāng)C#編譯器遇到了一個(gè)LINQ查詢表達(dá)式時(shí),實(shí)際上它會(huì)被轉(zhuǎn)化為使用擴(kuò)展方法和Lambda表達(dá)式的方法調(diào)用。
我們舉一個(gè)例子來(lái)解釋這個(gè):
- var result = from c in
- Customers
- where c.City.StartsWith("B")
- orderby c.LastName
- select new{ c.FirstName, c.LastName, c.Address };
- //上面的代碼等價(jià)于:
- var result = Customers.Where( c => c.City.StartsWith("B") ).
OrderBy( c => c.LastName).
Select( c => new{ .FirstName,c.LastName, c.Address } );
使用查詢語(yǔ)法的好處還有它會(huì)使代碼更簡(jiǎn)單更易讀。同時(shí)注意,LINQ查詢表達(dá)式以from 開(kāi)頭,以select 或者group 結(jié)尾。
【編輯推薦】