国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
3.8.2 LINQ示例(2)

3.8.2 LINQ示例(2)

2010-12-23 13:22 張昌龍/辛永平 機(jī)械工業(yè)出版社 字號:T | T

《ASP.NET 4.0從入門到精通》第3章C# 4.0語言特色,本章討論在C# 4.0語言中許多增強(qiáng)的功能。首先介紹隱式類型聲明,由編譯器根據(jù)上下文進(jìn)行類型推斷,接下來討論使用自動屬性功能簡化編寫重復(fù)性的屬性代碼。對象初始化器可以簡化開發(fā)人員的賦值代碼,接下來討論如何對一個現(xiàn)有類進(jìn)行擴(kuò)展的擴(kuò)展方法。本節(jié)為大家介紹LINQ示例。

AD:51CTO首屆中國APP創(chuàng)新評選大賽正在招募>>

3.8.2   LINQ示例(2)

【代碼解析】可以看到這里使用了本章前面介紹的匿名方法特性,from allsales in pdc.sales表示從sales表中查詢資料。select allsales表示查詢所有的字段??雌饋砼cSQL語句正好相反,SQL語句的select則放在開頭。最后綁定到dataGridView1,程序的執(zhí)行結(jié)果如圖3.28所示。

還可以使用where子句為查詢添加條件。雙擊“條件查詢”按鈕,添加如下的代碼:

  1. 01    private void button1_Click(object sender, EventArgs e)  
  2. 02    {  
  3. 03         PubsDataContext pdc = new PubsDataContext();  
  4. 04         var getsales = from wheresale in pdc.sales  
  5. 05                           where wheresale.qty > 20  
  6. 06                           select wheresale;  
  7. 07         dataGridView1.DataSource = getsales;  
  8. 08    } 

【代碼解析】這段代碼將查詢銷售數(shù)量大于20的銷售記錄。LINQ還可以只查詢指定的字段,而不用查詢所有的字段,并且可以在查詢字段中設(shè)置運(yùn)算表達(dá)式。將上面的代碼改為如下所示:

  1. 01    private void button1_Click(object sender, EventArgs e)  
  2. 02    {  
  3. 03         PubsDataContext pdc = new PubsDataContext();  
  4. 04         var getsales = from wheresale in pdc.sales  
  5. 05                          where wheresale.qty > 20  
  6. 06                          // select wheresale;
    注釋掉后添轉(zhuǎn)換成如下的代碼  
  7. 07                          select new  
  8. 08                          {  
  9. 09                               數(shù)量乘以五=wheresale.qty*5  
  10. 10                          };  
  11. 11         dataGridView1.DataSource = getsales;  
  12. 12    } 

【代碼解析】這段代碼將只輸出一個字段,并且輸出該字段乘以5之后的結(jié)果。代碼的輸出結(jié)果如圖3.29所示。

6) SQL語言提供了Join語法執(zhí)行多表聯(lián)合查詢,LINQ同樣也提供了Join語法,但是對于具有外鍵約束的多表,可以直接使用嵌套對象的形式進(jìn)行查詢。下面的代碼將查詢titles表和sales表中指定書名的銷售數(shù)量。代碼的輸出結(jié)果如圖3.30所示。

  1. 01    private void button2_Click(object sender, EventArgs e)  
  2. 02    {  
  3. 03         PubsDataContext pdc = new PubsDataContext();  
  4. 04         var titlesales = from ts in pdc.sales  
  5. 05                  select new  
  6. 06                  {  
  7. 07                        //在這里使用sales嵌套的
    titles表來獲取titles表中的title記錄  
  8. 08                        title=ts.titles.title,  
  9. 09                        qty=ts.qty  
  10. 10                  };  
  11. 11         dataGridView1.DataSource = titlesales;  
  12. 12    } 

如果表與表之間沒有明確的外鍵約束,則可以使用如下的語法進(jìn)行聯(lián)合查詢。代碼將產(chǎn)生與圖3.30相同的查詢結(jié)果。

  1. 01    private void button2_Click(object sender, EventArgs e)  
  2. 02    {  
  3. 03         PubsDataContext pdc = new PubsDataContext();  
  4. 04         var titlesales = from ts in pdc.sales  
  5. 05               join titlestable in pdc.titles 
    on ts.title_id equals titlestable.title_id  
  6. 06               select new  
  7. 07               {  
  8. 08                    titlestable.title,ts.qty  
  9. 09               };  
  10. 10         dataGridView1.DataSource = titlesales;  
  11. 11    } 

7) LINQ也提供了聚合操作語法。下面的代碼將分組統(tǒng)計指定書籍名稱的銷售數(shù)量,雙擊“聚合查詢”按鈕,添加如下所示的代碼。這段代碼產(chǎn)生的結(jié)果如圖3.31所示。

  1. 01    private void button3_Click(object sender, EventArgs e)  
  2. 02    {  
  3. 03         PubsDataContext pdc = new PubsDataContext();  
  4. 04         var titlesales = from ts in pdc.sales  
  5. 05                             group ts by new 
    {ts.titles.title} into gp  
  6. 06                             select new  
  7. 07                             {  
  8. 08                                  title=gp.Key.title,  
  9. 09                                  qty=gp.Sum(ts=>ts.qty)  
  10. 10                             };  
  11. 11         dataGridView1.DataSource = titlesales;  
  12. 12    } 
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SAP WM&SD集成之Copy WM Quantity
IEnumerable和IEnumerable<T>接口
Entity Framework的原理及使用方式
Linq 語句學(xué)習(xí)1
LINQ to XML 編程基礎(chǔ)
在ASP.NET中使用LINQ(第一部分) - Scott Guthrie 博客中文版 -...
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服