MVC中使用Entity Framework 基於方法的查詢學習筆記 (三)

緊接上文,咱們已經學習了MVC數據上下文中兩個經常使用的類,這兩個類承載着利用函數方式進行數據查詢的所有內容,咱們既然已經瞭解了DbSet<TEntity> 是一個泛型集合,而且實現了一些接口,下面咱們先看這幾個接口的定義:數組

DbQuery<TResult> 類函數

[SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "Name is intentional")]
public class DbQuery<TResult> : IOrderedQueryable<TResult>, 
    IQueryable<TResult>, IEnumerable<TResult>, IOrderedQueryable, IQueryable, 
    IEnumerable, IListSource, IDbAsyncEnumerable<TResult>, IDbAsyncEnumerable

IDbSet<TEntity> 接口學習

[SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "Name is intentional")]
public interface IDbSet<TEntity> : IQueryable<TEntity>, 
    IEnumerable<TEntity>, IQueryable, IEnumerable 
where TEntity : class

IQueryable<T> 接口ui

public interface IQueryable<out T> : IEnumerable<T>, 
    IQueryable, IEnumerable

IEnumerable<T> 接口spa

public interface IEnumerable<out T> : IEnumerable

IQueryable 接口code

public interface IQueryable : IEnumerable

IEnumerable 接口xml

[ComVisibleAttribute(true)]
[GuidAttribute("496B0ABE-CDEE-11d3-88E8-00902754C43A")]
public interface IEnumerable

 

IEnumerable<T> 接口blog

公開枚舉數,該枚舉數支持在指定類型的集合上進行簡單迭代。以上類及接口機會都繼承了IEnumerable<T> 在這個接口中定義了一些很是實用的擴展方法可供使用,這也正是操做數據的關鍵,以下是該接口的定義:排序

命名空間:  System.Collections.Generic
程序集:  mscorlib(在 mscorlib.dll 中)繼承

public interface IEnumerable<out T> : IEnumerable

 

一些常見的擴展方法:

All<TSource>    肯定序列中的全部元素是否知足條件。 (由 Enumerable 定義。)
Any<TSource>()    已重載。 肯定序列是否包含任何元素。 (由 Enumerable 定義。)
Average<TSource>()    已重載。 計算平均值,該值可經過調用輸入序列的每一個元素的轉換函數獲取。 (由 Enumerable 定義。)
Count<TSource>()    已重載。 返回序列中的元素數量。 (由 Enumerable 定義。)
Distinct<TSource>()    已重載。 經過使用默認的相等比較器對值進行比較返回序列中的非重複元素。 (由 Enumerable 定義。)
First<TSource>()    已重載。 返回序列中的第一個元素。 (由 Enumerable 定義。)
FirstOrDefault<TSource>()    已重載。 返回序列中的第一個元素;若是序列中不包含任何元素,則返回默認值。 (由 Enumerable 定義。)
GroupBy<TSource, TKey>(Func<TSource, TKey>)    已重載。 根據指定的鍵選擇器函數對序列中的元素進行分組。 (由 Enumerable 定義。)
Join<TOuter, TInner, TKey, TResult>(IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>)    已重載。 基於匹配鍵對兩個序列的元素進行關聯。 使用默認的相等比較器對鍵進行比較。 (由 Enumerable 定義。)
Last<TSource>()    已重載。 返回序列的最後一個元素。 (由 Enumerable 定義。)
LastOrDefault<TSource>()    已重載。 返回序列中的最後一個元素;若是序列中不包含任何元素,則返回默認值。 (由 Enumerable 定義。)
LongCount<TSource>()    已重載。 返回一個 Int64,表示序列中的元素的總數量。 (由 Enumerable 定義。)
Max<TSource>()    已重載。 返回泛型序列中的最大值。 (由 Enumerable 定義。)
Min<TSource>()    已重載。 返回泛型序列中的最小值。 (由 Enumerable 定義。)
OrderBy<TSource, TKey>(Func<TSource, TKey>)    已重載。 根據鍵按升序對序列的元素排序。 (由 Enumerable 定義。)
Remove<T>    將源集合中的每一個節點從其父節點中移除。 (由 Extensions 定義。)
Select<TSource, TResult>(Func<TSource, TResult>)    已重載。 將序列中的每一個元素投影到新表中。 (由 Enumerable 定義。)
Single<TSource>()    已重載。 返回序列的惟一元素;若是該序列並不是剛好包含一個元素,則會引起異常。 (由 Enumerable 定義。)
SingleOrDefault<TSource>()    已重載。 返回序列中的惟一元素;若是該序列爲空,則返回默認值;若是該序列包含多個元素,此方法將引起異常。 (由 Enumerable 定義。)
Skip<TSource>    跳過序列中指定數量的元素,而後返回剩餘的元素。 (由 Enumerable 定義。)
Sum<TSource>(Func<TSource, Decimal>)    已重載。 計算 Decimal 值序列的和,這些值是經過對輸入序列中的每一個元素調用轉換函數得來的。 (由 Enumerable 定義。)
Take<TSource>    從序列的開頭返回指定數量的連續元素。 (由 Enumerable 定義。)
ToArray<TSource>    從 IEnumerable<T> 建立一個數組。 (由 Enumerable 定義。)
ToList<TSource>    從 IEnumerable<T> 建立一個 List<T>。 (由 Enumerable 定義。)
Union<TSource>(IEnumerable<TSource>)    已重載。 經過使用默認的相等比較器生成兩個序列的並集。 (由 Enumerable 定義。)
Where<TSource>(Func<TSource, Boolean>)    已重載。 基於謂詞篩選值序列。 (由 Enumerable 定義。)

 

許多 System.Collections.Generic 命名空間中的接口和類繼承了 IEnumerable<T> 接口以實現枚舉數。 包括咱們前面介紹到的一些接口。

相關文章
相關標籤/搜索