1. 程式人生 > >linq簡介

linq簡介

技術 邏輯 int 查詢表達式 rom num XML com 創建

定義   語言集成查詢 (LINQ) 是一系列直接將查詢功能集成到 C# 語言的技術統稱,可總結為linq=c#+sql。 優勢 可用類似於數據庫查詢語言的方式去操作c#的對象。在linq出來之前,對象的很多操作都要自己去寫方法和邏輯(如排序,過濾,分組等),而用linq往往只要一句話就可以完成之前幾十行代碼的功能! 寫法   分查詢語法和方法語法   查詢語法:var query=from user in users where user.Name==‘周晶‘ select user;   方法語句:var query=users.where(user=>user.Name==‘周晶‘).select(user=>user) 開發和學習中的陷阱
  linq分linq to objects,linq to xml,linq to ado.net。三都的底層技術原理是不一樣的,所以同樣的寫法可能在linq to objects會正常但在linq to ado.net時就不正常。 幾點建議   復雜的查詢用查詢語法,簡單的查詢用方法語法。 什麽樣的數據源能用linq技術?   只要是實現 IEnumerable<T> 或 IQueryable<T> 接口的數據源都可以用。 查詢表達式的語法   查詢表達式必須以 from 子句開頭,且必須以 select 或 group 子句結尾。 在第一個 from 子句與最後一個 select 或 group 子句之間,可以包含以下這些可選子句中的一個或多個:where、orderby、join、let,甚至是其他 from 子句。 還可以使用 into 關鍵字,使 join 或 group 子句的結果可以充當相同查詢表達式中的其他查詢子句的源。 其它
  查詢表達式可被編譯成表達式樹或委托,具體視應用查詢的類型而定。IEnumerable<T> 查詢編譯為委托。 IQueryable 和 IQueryable<T> 查詢編譯為表達式樹。 創建查詢表達式時,並不會有什麽計算的開銷,只有在foreach或是其它的計算結果的語句執行時(如count,max等),才會真正去執行計算任務。

linq簡介