程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 教你如何實現LINQ查詢語句

教你如何實現LINQ查詢語句

編輯:關於.NET

實現LINQ查詢語句有三個步驟,他們分別是獲取數據源(任何查詢的必備工作)、創建查詢、執行查詢 。本文就從這三個方面對實現LINQ查詢語句做簡單的介紹。

示例:

class IntroToLINQ
{
        static void Main()
        {
                  //獲取數據源(此處由一個數組充當)
                  int[] numbers = new int[7]{0,1,2,3,4,5,6};
                  //創建查詢(numQuery 是 IEnumerable 類型)
                  var numQuery = from num in numbers where (num% 2) ==
  0 select num;
                  // 執行查詢  
                  foreach(int num in numQuery)
                  {
                         Console.write("{0,1}",num);
                  }
        }
}

實現LINQ查詢語句之數據源:

上面示例中,數據源是一個數組,隱式支持泛型IEnumerable(T)接口,而支持IEnumerable(T)或派生 接口的類型稱為"可查詢類型"。因此數組即可用LINQ進行查詢。

如果數據源還沒有作為可查詢類型出現在內存中,則LINQ提供程序必須以此方式表示數據源。例 如,LINQ to XML將 xml文檔加載到可查詢的XElement類型中:

using System.Xml.Linq
XElement contacts = XElement.Load(@"c:\my.xml");//XElement 表示一個xml元素

在LINQ to SQL 中,必須先創建對象關系映射,然後針對這些對象編寫查詢。LINQ會處理對象查詢與 數據庫間的通信。

using System.Data.Linq;
DataContext db = new DataContext(@"c:\northwind.mdf");

實現LINQ查詢語句之創建查詢:

查詢要先存儲在查詢變量中,並用查詢表達式進行初始化。這個查詢變量不執行任何操作也不返回數 據,只有在執行查詢時用來存儲為生成結果而必須的信息。

實現LINQ查詢語句之執行查詢:

上例中使用foreach的地方就是檢索查詢結果的地方,它在創建後才執行,因此稱為延遲執行,num保 存返回的值。

當需要用到聚合函數查詢時,則是強制立即執行

var numQuery = from num in numbers where (num%2) == 0 select num;
int evenNumCount = evenNumCount.Count();

若普通查詢也要立即執行,可以在查詢語句後調用ToList()或ToArray()方法。

以上就是對如何實現LINQ查詢語句的簡單介紹。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved