小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

簡單的Linq查詢語句

 印度阿三17 2019-04-08

下面我來我大家介紹幾種簡單的查詢方式。

1、簡單語法

下面是一段LINQ查詢語句

=============================================================================================

List<Select> list = (from tb in Model.SYS

                                 select new Select

                                  {

                                       id = tb.ID,

                                       text = tb.Name

                               }).ToList();

=============================================================================================

這個LINQ語句的第一個關(guān)鍵字是from,from后面加的是范圍變量,范圍變量后加in,后加上事先實例化的模型,然后點出數(shù)據(jù)的來源。

from后面的范圍變量類似于for循環(huán)中的i變量,這里不需要明確范圍變量指定具體的數(shù)據(jù)類型,因為編譯器在執(zhí)行這段代碼時,可以根據(jù)里面的數(shù)據(jù)推斷出范圍變量的類型。

第二句先是關(guān)鍵字select查詢,后面加上new的關(guān)鍵字,后面再加上事先封裝好的要查詢數(shù)據(jù)的數(shù)據(jù)類型類,這個數(shù)據(jù)類型類必須與前面List列表的數(shù)據(jù)類型類相同。

在select查詢里面為事先封裝好的數(shù)據(jù)類型類里面的字段賦上相應(yīng)的值,

List是列表,LINQ語句要與List相等,所以在查詢語句的最后面要加上一個ToList()將LINQ的隱式轉(zhuǎn)換成另外一種類型。

2、匿名類型

匿名類型,在查詢上不用去聲明指定具體的數(shù)據(jù)類型,可以在執(zhí)行代碼時由編譯器自動地去推斷變量的數(shù)據(jù)類型。

=============================================================================================

var list = from tb in Model.SYS

                         select new Select

                         {

                               id = tb.ID,

                               text = tb.Name

                     };

=============================================================================================

var是匿名類型關(guān)鍵字,它用于定義數(shù)據(jù)類型的一種間接的方式  var關(guān)鍵字會動去判斷后面的變量具體的數(shù)據(jù)類型。

這個Linq語句的與上面一樣,第一個關(guān)鍵字是from,from后面加的是變量,變量后加in,后加上事先實例化的模型,然后點出數(shù)據(jù)的來源。

第二句也差不多,先是關(guān)鍵字select查詢,后面加上new的關(guān)鍵字,但這里不需要再加上事先封裝好的要查詢數(shù)據(jù)的數(shù)據(jù)類型類。

同樣的,在select查詢里面為字段賦值,但這里并沒有指定數(shù)據(jù)類型,所以也沒有指定字段。

最后,這里因為List沒有指定數(shù)據(jù)類型,所以不需要ToList()進行轉(zhuǎn)換。

3、Lambda表達式

Lambda表達式相對于上面兩種寫法更加簡潔。

=============================================================================================

var list = Model.SYS

.Select(m => new {

id = m.ID,

text = m.Name

});

=============================================================================================

先用var聲明一個變量,然后直接調(diào)用實例化的模型,點出數(shù)據(jù)的來源;緊接著后面直接調(diào)用一個查詢方法.Select()。

括號里面為表達式,m是參數(shù),這個參數(shù)名稱沒有指定為m,可以自行定義;=>是Lambda表達式的一個運算符;同樣加上new的關(guān)鍵字;花括號里面為具體的一個方法體,填寫需要查詢的字段。

上面幾種方法,它們最后的效果都是同樣的。

來源:http://www./content-4-158701.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多