由於近期做專案涉及到linq表示式,正好來學習一下。
linq
(languageintegrated query
)語言整合查詢,是一組用於
c#和visual basic語言的擴充套件。它允許編寫c#或者
visual basic**以查詢資料庫相同的方式操作記憶體資料。
約束linq查詢表示式必須以from子句開頭,以select或group子句結束。
關鍵字功能
from…in…
指定要查詢的資料來源以及範圍變數,多個
from子句則表示從多個資料來源查詢資料。
注意:c#編譯器會把「復合from子句」的查詢表示式轉換為selectmany()擴充套件方法。
join…in…on…equals…
指定多個資料來源的關聯方式
let引入用於儲存查詢表示式中子表示式結果的範圍變數。通常能達到層次感會更好,使**更易於閱讀。
orderby、descending
指定元素的排序欄位和排序方式。當有多個排序欄位時,由欄位順序確定主次關係,可指定公升序和降序兩種排序方式
where
指定元素的篩選條件。多個
where子句則表示了並列條件,必須全部都滿足才能入選。每個where子句可以使用謂詞&&、||連線多個條件表示式。
group
指定元素的分組字段。
select
指定查詢要返回的目標資料,可以指定任何型別,甚至是匿名型別。(目前通常被指定為匿名型別)
into
提供乙個臨時的識別符號。該標識可以引用
join、group和select子句的結果。
1)直接出現在join子句之後的into關鍵字會被翻譯為groupjoin。
(into之前的查詢變數可以繼續使用)
2)select或group子句之後的into它會重新開始乙個查詢,讓我們可以繼續引入where, orderby和select子句,它是對分步構建查詢表示式的一種簡寫方式。
(into之前的查詢變數都不可再使用)
先到這裡了,具體問題遇到再談!
linq表示式對比lambda表示式
什麼是linq表示式?什麼是lambda表示式?前一段時間用到這個只是,在網上也沒找到比較簡單明瞭的方法,今天就整理了一下相關知識,有空了再仔細研究研究 public program ling表示式 var stus1 from s in allstudent where s.name 王二 sel...
Linq表示式開竅
static iqueryablegetpagelist expressionbool wherelambda,expression orderlambda,int pagesize,int pageindex where t class 上面值的返回型別是iqueryable,為什麼是這個型別呢?...
Linq表示式開竅
static iqueryablegetpagelist expressionbool wherelambda,expression orderlambda,int pagesize,int pageindex where t class 上面值的返回型別是iqueryable,為什麼是這個型別呢?...