LINQ查詢語句能夠將複雜的查詢應用簡化成一個簡單的查詢語句,不僅如此,LINQ還支持編程語言本有的特性進行高效的數據訪問和篩選。雖然LINQ在寫法上和SQL語句十分相似,但是LINQ語句在其查詢語法上和SQL語句還是有出入的,SQL查詢語句如下所示。
select * from student,class where student.c_id=class.c_id //SQL查詢語句
上述代碼是SQL查詢語句,對於LINQ而言,其查詢語句格式如下所示。
var mylq = from l in lq.Student from cl in lq.Class where l.C_ID==cl.C_ID select l; //LINQ查詢語句
上述代碼作爲LINQ查詢語句實現了同SQL查詢語句一樣的效果,但是LINQ查詢語句在格式上與SQL語句不同,LINQ的基本格式如下所示。
var <變量> = from <項目> in <數據源> where <表達式> orderby <表達式>
LINQ語句不僅能夠支持對數據源的查詢和篩選,同SQL語句一樣,還支持ORDER BY等排序,以及投影等操作,示例查詢語句如下所示。
var st = from s in inter where s==3 select s; //LINQ查詢
var st = from s in inter where (s * s) % 2 == 0 orderby s descending select s; //LINQ條件查詢
從結構上來看,LINQ查詢語句同SQL查詢語句中比較大的區別就在於SQL查詢語句中的SELECT關鍵字在語句的前面,而在LINQ查詢語句中SELECT關鍵字在語句的後面,在其他地方沒有太大的區別,對於熟悉SQL查詢語句的人來說非常容易上手。
請記住一點,LINQ執行查詢後返回的是IEnumerable對象,可以利用foreach對其進行遍歷處理!