LINQ查詢全面剖析
在向大家詳細介紹LINQ查詢之前,首先讓大家了解下LINQ數(shù)據(jù)提供者,然后全面介紹LINQ查詢。
本文主要是關注于LINQ——我認為是VS2008(.NET3.5)中最令人興奮的特性。LINQ查詢成為了.NET中頭等的編程概念,被查詢的數(shù)據(jù)可以是XML(LINQ to XML)、Databases(LINQ to SQL、LINQ to Dataset、LINQ to Entities)和對象(LINQ to Objects)。LINQ也是可擴展的,允許你建立自定義的LINQ數(shù)據(jù)提供者(比如:LINQ to Amazon、LINQ to NHibernate、LINQ to LDAP)。
在這里我會討論C#3.0中的一些新的語言特性和改進,正是它們使得LINQ變得如此強大,讓你可以寫出這樣的代碼:
- var result = from c in Customers where c.City == Boston" orderby c.LastName descending
- select new {
- c.FirstName, c.LastName, c.Address
- };
記住,如果你想要使用LINQ查詢,你需要安裝Visual Studio 2008(.NET3.5)。
- public class Point {
- private int _x, _y;
- public int X {
- get { return _x; }
- set { _x = value; }
- }
- public int Y {
- get { return _y; }
- set { _y = value; }
- }
- }
上面的代碼簡單的定義了一個擁有兩個屬性的類?,F(xiàn)在,使用VS2008中的C#編譯器,我們就可以用自動屬性寫的更簡單,它能自動的生成帶有get/set 操作的私有域。
- public class Point {
- public int X { get; set; }
- public int Y { get; set; }
- }
上面的代碼可讀性更好并且簡潔。
【編輯推薦】