LINQ是Visual Studio 2008及其以後版本中提供的功能,將強大的查詢擴展到C#和VB.Net語言語法之中。LINQ提供了標准、簡單的模式來查詢和更新數據,同時還允許程序開發人員進行擴展,支持任何類型的數據存儲。Visual Studio 2008包含了LINQ提供者程序集,能夠對.NET Framework集合,內存中的對象數組,SQL Server數據庫,ADO.NET Dataset和XML文檔進行語言集成的查詢。另外,我們也可以自己編寫LINQ提供者,提供對任何類型數據的查詢,只要實現了IEnumerable或者IEnumerable<T> (C#)或 IEnumerable (Of T) (Visual Basic)的數據類型,都可以進行使用LINQ進行操作。我們可以使用完全相同的語法查詢SQL數據庫、XML文檔、ADO.Net的Dataset(DataTable)、內存中的集合對象,以及任何支持LINQ的遠程或者本地數據源。在LINQ查詢中,只與對象打交道,因此,可以完全不需要知道數據存儲的數據源,而且采用的編程模型和語法也完全相同。
所有的LINQ查詢基本上都是由3個基本的操作組成:得到數據源,創建查詢和執行查詢3個過程。數據的獲得是在執行查詢的時候完成的。在上一部分的例子(http://blog.csdn.Net/net_lover/archive/2008/01/23/2060425.ASPx)中,
是得到數據源
是創建查詢,此時並沒有對數據執行任何操作,
在數據綁定時,才真正得到數據。
但是,有的查詢需要立即執行,將結果放在內存中,可以調用查詢或者查詢變量的ToList<(Of <TSource>)> 或者 ToArray<(Of <TSource>)>方法。例如: