IDbSet<TEntity> 接口

定义

表示 IDbSet<TEntity> 上下文中所有实体的集合,或者可以从数据库中查询的给定类型的实体。 DbSet<TEntity> 是 IDbSet 的具体实现。

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification="Name is intentional")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Justification="Casing is intentional")]
public interface IDbSet<TEntity> : System.Collections.Generic.IEnumerable<TEntity>, System.Linq.IQueryable<TEntity> where TEntity : class
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification="Name is intentional")]
public interface IDbSet<TEntity> : System.Collections.Generic.IEnumerable<TEntity>, System.Linq.IQueryable<TEntity> where TEntity : class
type IDbSet<'Entity (requires 'Entity : null)> = interface
    interface IQueryable<'Entity (requires 'Entity : null)>
    interface seq<'Entity (requires 'Entity : null)>
    interface IQueryable
    interface IEnumerable
Public Interface IDbSet(Of TEntity)
Implements IEnumerable(Of TEntity), IQueryable(Of TEntity)

类型参数

TEntity

定义集的类型。

派生
属性
实现

注解

IDbSet<TEntity> 最初旨在允许创建测试双打 (模拟或假) DbSet<TEntity>。 但是,此方法存在以下问题:向接口添加新成员会中断已实现接口的现有代码,而该代码没有新成员。 因此,从 EF6 开始,不会向此接口添加新成员, DbSet<TEntity> 建议将 用作测试双精度型的基类。

属性

Local

获取一个 ObservableCollection<T> ,它表示此集中所有“已添加”、“未更改”和“已修改”实体的本地视图。 在上下文中添加或删除实体时,该本地视图将保持同步。 同样,在本地视图中添加或删除实体也会自动在上下文中添加或删除实体。

方法

Add(TEntity)

将给定实体以“已添加”状态添加到集的基础上下文中,这样一来,当调用 SaveChanges 时,会将该实体插入到数据库中。

Attach(TEntity)

将给定实体附加到集的基础上下文中。 也就是说,将实体以“未更改”的状态放置到上下文中,就好像从数据库读取了该实体一样。

Create()

为此集的类型创建新的实体实例。 请注意,此实例未添加或附加到集。 如果基础上下文配置为创建代理,且实体类型满足创建代理的要求,则返回的实例将是一个代理。

Create<TDerivedEntity>()

为此集的类型或派生自此集类型的类型创建新的实体实例。 请注意,此实例未添加或附加到集。 如果基础上下文配置为创建代理,且实体类型满足创建代理的要求,则返回的实例将是一个代理。

Find(Object[])

查找带给定主键值的实体。 如果上下文中存在带给定主键值的实体,则立即返回该实体,而不会向存储区发送请求。 否则,会向存储区发送查找带给定主键值的实体的请求,如果找到该实体,则将其附加到上下文并返回。 如果未在上下文或存储区中找到实体,则返回 null。

Remove(TEntity)

将给定实体标记为“已删除”,这样一来,当调用 SaveChanges 时,将从数据库中删除该实体。 请注意,在调用此方法之前,该实体必须以另一种状态存在于该上下文中。

扩展方法

AsNoTracking<T>(IQueryable<T>)

返回一个新查询,其中返回的实体不会缓存在 DbContextObjectContext中。 此方法通过调用基础查询对象的 AsNoTracking 方法来工作。 如果基础查询对象没有 AsNoTracking 方法,则调用此方法将不起作用。

Include<T>(IQueryable<T>, String)

表示 IDbSet<TEntity> 上下文中所有实体的集合,或者可以从数据库中查询的给定类型的实体。 DbSet<TEntity> 是 IDbSet 的具体实现。

Include<T,TProperty>(IQueryable<T>, Expression<Func<T,TProperty>>)

表示 IDbSet<TEntity> 上下文中所有实体的集合,或者可以从数据库中查询的给定类型的实体。 DbSet<TEntity> 是 IDbSet 的具体实现。

AddOrUpdate<TEntity>(IDbSet<TEntity>, TEntity[])

调用 SaveChanges 时,按键添加或更新实体。 等效于数据库术语中的“upsert”操作。 使用迁移设定数据种子时,此方法非常有用。

AddOrUpdate<TEntity>(IDbSet<TEntity>, Expression<Func<TEntity,Object>>, TEntity[])

调用 SaveChanges 时,通过自定义标识表达式添加或更新实体。 等效于数据库术语中的“upsert”操作。 使用迁移设定数据种子时,此方法非常有用。

AddOrUpdate<TEntity>(IDbSet<TEntity>, TEntity[])

调用 SaveChanges 时,按键添加或更新实体。 等效于数据库术语中的“upsert”操作。 使用迁移设定数据种子时,此方法非常有用。

AddOrUpdate<TEntity>(IDbSet<TEntity>, Expression<Func<TEntity,Object>>, TEntity[])

调用 SaveChanges 时,通过自定义标识表达式添加或更新实体。 等效于数据库术语中的“upsert”操作。 使用迁移设定数据种子时,此方法非常有用。

AllAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步确定序列的所有元素是否都满足条件。

AllAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步确定序列的所有元素是否都满足条件。

AnyAsync<TSource>(IQueryable<TSource>)

异步确定序列是否包含任何元素。

AnyAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步确定序列的任何元素是否满足条件。

AnyAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步确定序列的任何元素是否满足条件。

AnyAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步确定序列是否包含任何元素。

AsNoTracking<T>(IQueryable<T>)

返回一个新查询,其中返回的实体不会缓存在 DbContextObjectContext中。 此方法通过调用基础查询对象的 AsNoTracking 方法来工作。 如果基础查询对象没有 AsNoTracking 方法,则调用此方法将不起作用。

AsStreaming<T>(IQueryable<T>)
已过时.

返回将流式传输结果而不是缓冲的新查询。 此方法通过调用基础查询对象的 AsStreaming 方法工作。 如果基础查询对象没有 AsStreaming 方法,则调用此方法将不起作用。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Decimal 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Decimal 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Double 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Double 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Int32 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Int32 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Int64 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Int64 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)

异步计算通过对输入序列的每个元素调用投影函数获取的可为 Decimal 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的可为 Decimal 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)

异步计算通过对输入序列的每个元素调用投影函数获取的可为 Double 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的可为 Double 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)

异步计算通过对输入序列的每个元素调用投影函数获取的可为 Int32 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的可为 Int32 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)

异步计算通过对输入序列的每个元素调用投影函数获取的可为 Int64 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的可为 Int64 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>)

异步计算通过对输入序列的每个元素调用投影函数获取的可为 Single 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的可为 Single 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Single 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Single 的平均值。

ContainsAsync<TSource>(IQueryable<TSource>, TSource)

使用默认相等比较器异步确定序列是否包含指定的元素。

ContainsAsync<TSource>(IQueryable<TSource>, TSource, CancellationToken)

使用默认相等比较器异步确定序列是否包含指定的元素。

CountAsync<TSource>(IQueryable<TSource>)

异步返回序列中的元素数。

CountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步返回序列中满足条件的元素数。

CountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足条件的元素数。

CountAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列中的元素数。

FirstAsync<TSource>(IQueryable<TSource>)

异步返回序列的第一个元素。

FirstAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步返回序列中满足指定条件的第一个元素。

FirstAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足指定条件的第一个元素。

FirstAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的第一个元素。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>)

异步返回序列的第一个元素;如果序列不包含任何元素,则返回默认值。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步返回序列中满足指定条件的第一个元素,如果未找到此类元素,则返回默认值。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足指定条件的第一个元素,如果未找到此类元素,则返回默认值。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的第一个元素;如果序列不包含任何元素,则返回默认值。

ForEachAsync<T>(IQueryable<T>, Action<T>)

异步枚举查询结果,并针对每个元素执行指定的操作。

ForEachAsync<T>(IQueryable<T>, Action<T>, CancellationToken)

异步枚举查询结果,并针对每个元素执行指定的操作。

Include<T>(IQueryable<T>, String)

指定要包括在查询结果中的相关对象。

Include<T,TProperty>(IQueryable<T>, Expression<Func<T,TProperty>>)

指定要包括在查询结果中的相关对象。

LongCountAsync<TSource>(IQueryable<TSource>)

异步返回一个 Int64 ,它表示序列中的元素总数。

LongCountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步返回一个 , Int64 它表示序列中满足条件的元素数。

LongCountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回一个 , Int64 它表示序列中满足条件的元素数。

LongCountAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回一个 Int64 ,它表示序列中的元素总数。

MaxAsync<TSource>(IQueryable<TSource>)

异步返回序列的最大值。

MaxAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的最大值。

MaxAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)

对序列的每个元素异步调用投影函数,并返回最大值。

MaxAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

对序列的每个元素异步调用投影函数,并返回最大值。

MinAsync<TSource>(IQueryable<TSource>)

异步返回序列的最小值。

MinAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的最小值。

MinAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)

对序列的每个元素异步调用投影函数,并返回最小值。

MinAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

对序列的每个元素异步调用投影函数,并返回最小值。

SingleAsync<TSource>(IQueryable<TSource>)

异步返回序列中唯一的元素,如果序列中没有正好有一个元素,则引发异常。

SingleAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步返回序列中满足指定条件的唯一元素,如果存在多个此类元素,则会引发异常。

SingleAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足指定条件的唯一元素,如果存在多个此类元素,则会引发异常。

SingleAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列中唯一的元素,如果序列中没有正好有一个元素,则引发异常。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>)

异步返回序列的唯一元素,如果序列为空,则返回默认值;如果序列中有多个元素,此方法将引发异常。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步返回序列中满足指定条件的唯一元素;如果不存在此类元素,则返回默认值;如果多个元素满足条件,此方法将引发异常。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足指定条件的唯一元素;如果不存在此类元素,则返回默认值;如果多个元素满足条件,此方法将引发异常。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的唯一元素,如果序列为空,则返回默认值;如果序列中有多个元素,此方法将引发异常。

Skip<TSource>(IQueryable<TSource>, Expression<Func<Int32>>)

跳过序列中指定数量的元素,然后返回剩余的元素。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Decimal 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Decimal 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Double 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Double 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Int32 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Int32 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Int64 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Int64 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)

异步计算通过对输入序列的每个元素调用投影函数获得的可为 Decimal 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的可为 Decimal 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)

异步计算通过对输入序列的每个元素调用投影函数获得的可为 Double 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的可为 Double 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)

异步计算通过对输入序列的每个元素调用投影函数获得的可为 Int32 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的可为 Int32 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)

异步计算通过对输入序列的每个元素调用投影函数获得的可为 Int64 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的可为 Int64 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>)

异步计算通过对输入序列的每个元素调用投影函数获得的可为 Single 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的可为 Single 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Single 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列 Single 的总和。

Take<TSource>(IQueryable<TSource>, Expression<Func<Int32>>)

从序列的开头返回指定数量的相邻元素。

ToArrayAsync<TSource>(IQueryable<TSource>)

通过异步枚举从 创建数组 IQueryable<T>

ToArrayAsync<TSource>(IQueryable<TSource>, CancellationToken)

通过异步枚举从 创建数组 IQueryable<T>

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>)

Dictionary<TKey,TValue>通过根据指定的键选择器函数异步枚举它,从 IQueryable<T> 中创建 。

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Dictionary<TKey,TValue>通过根据指定的键选择器函数和比较器异步枚举它,从 IQueryable<T> 中创建 。

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>, CancellationToken)

Dictionary<TKey,TValue>通过根据指定的键选择器函数和比较器异步枚举它,从 IQueryable<T> 中创建 。

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, CancellationToken)

Dictionary<TKey,TValue>通过根据指定的键选择器函数异步枚举它,从 IQueryable<T> 中创建 。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Dictionary<TKey,TValue>通过根据指定的键选择器和元素选择器函数异步枚举它,从 IQueryable<T> 中创建 。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Dictionary<TKey,TValue>通过根据指定的键选择器函数、比较器和元素选择器函数异步枚举 ,从 IQueryable<T> 中创建 。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>, CancellationToken)

Dictionary<TKey,TValue>通过根据指定的键选择器函数、比较器和元素选择器函数异步枚举 ,从 IQueryable<T> 中创建 。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, CancellationToken)

Dictionary<TKey,TValue>通过根据指定的键选择器和元素选择器函数异步枚举它,从 IQueryable<T> 中创建 。

ToListAsync<TSource>(IQueryable<TSource>)

List<T>IQueryable<T>通过异步枚举从 创建 。

ToListAsync<TSource>(IQueryable<TSource>, CancellationToken)

List<T>IQueryable<T>通过异步枚举从 创建 。

适用于