LINQ API(.Net)

我們可以為實(shí)現(xiàn)IEnumerable <T>或 IQueryable <T>接口的類編寫LINQ查詢。System.Linq的命名空間包括下列類和接口要求對(duì)LINQ查詢。

LINQ API
 在Visual Studio中添加新類時(shí),默認(rèn)包含 System.Linq 命名空間。。

LINQ查詢對(duì)實(shí)現(xiàn)IEnumerable或IQueryable接口的類使用擴(kuò)展方法。Enumerable和Queryable是兩個(gè)靜態(tài)類,它們包含編寫LINQ查詢的擴(kuò)展方法。

可枚舉類(Enumerable)

Enumerable類包括用于實(shí)現(xiàn)IEnumerable<T>接口的類的擴(kuò)展方法,例如,所有內(nèi)置集合類都實(shí)現(xiàn)了IEnumerable<T>接口,因此我們可以編寫LINQ查詢來從內(nèi)置集合中檢索數(shù)據(jù)。

下圖顯示了Enumerable類中包含的擴(kuò)展方法,可以與C#或VB.Net中的泛型集合一起使用。

下圖顯示了Enumerable該類中所有可用的擴(kuò)展方法。

Enumerable 類

可查詢(Queryable)

Queryable類包含用于實(shí)現(xiàn)成員“> IQueryable <t>接口的類的擴(kuò)展方法。該IQueryable<T>接口用于提供針對(duì)已知數(shù)據(jù)類型的特定數(shù)據(jù)源的查詢功能,例如,Entity Framework api實(shí)現(xiàn)了IQueryable<T>針對(duì)通過底層數(shù)據(jù)庫(例如MS SQL Server)支持LINQ查詢。

此外,還有一些API可用于訪問第三方數(shù)據(jù)。例如,LINQ to Amazon提供了將LINQ與Amazon Web服務(wù)結(jié)合使用以搜索書籍和其他物品的功能。這可以通過IQueryable為Amazon實(shí)現(xiàn)接口來實(shí)現(xiàn)。

下圖顯示了Queryable該類中可用的擴(kuò)展方法,可以與各種本機(jī)或第三方數(shù)據(jù)提供程序一起使用。

下圖顯示了Queryable該類中可用的擴(kuò)展方法。

Queryable 類

  要記住的要點(diǎn)

  1. 使用 System.LINQ 命名空間來使用 LINQ。

  2. LINQ api包括兩個(gè)主要的靜態(tài)類Enumerable 和 Queryable。

  3. 靜態(tài)Enumerable類包括用于實(shí)現(xiàn)IEnumerable <T>接口的類的擴(kuò)展方法。

  4. IEnumerable <T>集合的類型是內(nèi)存中的集合,例如List,Dictionary,SortedList,Queue,HashSet,LinkedList。

  5. 靜態(tài)Queryable類包括用于實(shí)現(xiàn)IQueryable <T>接口的類的擴(kuò)展方法。

  6. 遠(yuǎn)程查詢提供程序?qū)崿F(xiàn)了例如Linq-to-SQL,LINQ-to-Amazon等。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清