DbSet<TEntity> 类

定义

DbSet<TEntity>可用于查询和保存 的TEntity实例。 针对 的 DbSet<TEntity> LINQ 查询将转换为针对数据库的查询。

public abstract class DbSet<TEntity> : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Query.Internal.IAsyncEnumerableAccessor<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.Linq.IQueryable<TEntity> where TEntity : class
public abstract class DbSet<TEntity> : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Query.Internal.IAsyncEnumerableAccessor<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.ComponentModel.IListSource, System.Linq.IQueryable<TEntity> where TEntity : class
public abstract class DbSet<TEntity> : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, System.Collections.Generic.IAsyncEnumerable<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.ComponentModel.IListSource, System.Linq.IQueryable<TEntity> where TEntity : class
public abstract class DbSet<TEntity> : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, System.Collections.Generic.IEnumerable<TEntity>, System.ComponentModel.IListSource, System.Linq.IQueryable<TEntity> where TEntity : class
type DbSet<'Entity (requires 'Entity : null)> = class
    interface IQueryable<'Entity (requires 'Entity : null)>
    interface seq<'Entity (requires 'Entity : null)>
    interface IEnumerable
    interface IQueryable
    interface IAsyncEnumerableAccessor<'Entity (requires 'Entity : null)>
    interface IInfrastructure<IServiceProvider>
type DbSet<'Entity (requires 'Entity : null)> = class
    interface IQueryable<'Entity (requires 'Entity : null)>
    interface seq<'Entity (requires 'Entity : null)>
    interface IEnumerable
    interface IQueryable
    interface IAsyncEnumerableAccessor<'Entity (requires 'Entity : null)>
    interface IInfrastructure<IServiceProvider>
    interface IListSource
type DbSet<'Entity (requires 'Entity : null)> = class
    interface IQueryable<'Entity (requires 'Entity : null)>
    interface seq<'Entity (requires 'Entity : null)>
    interface IEnumerable
    interface IQueryable
    interface IAsyncEnumerable<'Entity (requires 'Entity : null)>
    interface IInfrastructure<IServiceProvider>
    interface IListSource
type DbSet<'Entity (requires 'Entity : null)> = class
    interface IQueryable<'Entity (requires 'Entity : null)>
    interface seq<'Entity (requires 'Entity : null)>
    interface IEnumerable
    interface IQueryable
    interface IInfrastructure<IServiceProvider>
    interface IListSource
Public MustInherit Class DbSet(Of TEntity)
Implements IAsyncEnumerableAccessor(Of TEntity), IEnumerable(Of TEntity), IInfrastructure(Of IServiceProvider), IQueryable(Of TEntity)
Public MustInherit Class DbSet(Of TEntity)
Implements IAsyncEnumerableAccessor(Of TEntity), IEnumerable(Of TEntity), IInfrastructure(Of IServiceProvider), IListSource, IQueryable(Of TEntity)
Public MustInherit Class DbSet(Of TEntity)
Implements IAsyncEnumerable(Of TEntity), IEnumerable(Of TEntity), IInfrastructure(Of IServiceProvider), IListSource, IQueryable(Of TEntity)
Public MustInherit Class DbSet(Of TEntity)
Implements IEnumerable(Of TEntity), IInfrastructure(Of IServiceProvider), IListSource, IQueryable(Of TEntity)

类型参数

TEntity

由此集操作的实体的类型。

继承
DbSet<TEntity>
派生
实现
IInfrastructure<IServiceProvider> Microsoft.EntityFrameworkCore.Query.Internal.IAsyncEnumerableAccessor<TEntity> IEnumerable<T> IEnumerable<TEntity> IEnumerable IQueryable IQueryable<TEntity> IListSource IAsyncEnumerable<TEntity>

注解

针对 DbSet<TEntity> 的 LINQ 查询的结果将包含从数据库返回的结果,可能不会反映上下文中尚未保存到数据库的更改。 例如,结果将不包含新添加的实体,并且可能仍包含标记为要删除的实体。

根据所使用的数据库,针对 DbSet<TEntity> 的 LINQ 查询的某些部分可能在内存中求值,而不是转换为数据库查询。

DbSet<TEntity> 对象通常从 DbSet<TEntity> 派生 DbContext 的 或 方法 Set<TEntity>() 上的 属性获取。

Entity Framework Core 不支持在同一 DbContext 实例上运行多个并行操作。 这包括异步查询的并行执行以及从多个线程进行的任何显式并发使用。 因此,请始终立即等待异步调用,或者对并行执行的操作使用单独的 DbContext 实例。 有关详细信息和示例 ,请参阅避免 DbContext 线程问题

有关详细信息和示例,请参阅 DbContext 生存期、配置和初始化使用 EF Core 查询数据和更改跟踪

构造函数

DbSet<TEntity>()

DbSet<TEntity>可用于查询和保存 的TEntity实例。 针对 的 DbSet<TEntity> LINQ 查询将转换为针对数据库的查询。

属性

EntityType

与此 IEntityType 集关联的元数据。

Local

获取一个 , LocalView<TEntity> 它表示此集中所有“已添加”、“未更改”和“修改”实体的本地视图。

方法

Add(TEntity)

开始跟踪给定实体,以及尚未跟踪的任何其他可访问实体, Added 状态为,以便在调用 时 SaveChanges() 将其插入数据库。

AddAsync(TEntity, CancellationToken)

开始跟踪给定实体,以及尚未跟踪的任何其他可访问实体, Added 状态为,以便在调用 时 SaveChanges() 将其插入数据库。

AddRange(IEnumerable<TEntity>)

开始跟踪给定的实体,以及尚未跟踪的任何其他可访问实体, Added 状态为,以便在调用 时 SaveChanges() 将其插入数据库。

AddRange(TEntity[])

开始跟踪给定的实体,以及尚未跟踪的任何其他可访问实体, Added 状态为,以便在调用 时 SaveChanges() 将其插入数据库。

AddRangeAsync(IEnumerable<TEntity>, CancellationToken)

开始跟踪给定的实体,以及尚未跟踪的任何其他可访问实体, Added 状态为,以便在调用 时 SaveChanges() 将其插入数据库。

AddRangeAsync(TEntity[])

开始跟踪给定的实体,以及尚未跟踪的任何其他可访问实体, Added 状态为,以便在调用 时 SaveChanges() 将其插入数据库。

AsAsyncEnumerable()

返回此类型为 IAsyncEnumerable<T>的对象。

AsQueryable()

返回此类型为 IQueryable<T>的对象。

Attach(TEntity)

默认情况下,使用 状态开始跟踪给定实体和可从给定实体 Unchanged 访问的条目,但有关将使用不同的状态的情况,请参阅下文。

AttachRange(IEnumerable<TEntity>)

默认情况下,使用 状态开始跟踪可从给定实体访问的给定实体 Unchanged 和条目,但有关将使用不同的状态的情况,请参阅下文。

AttachRange(TEntity[])

默认情况下,使用 状态开始跟踪可从给定实体访问的给定实体 Unchanged 和条目,但有关将使用不同的状态的情况,请参阅下文。

Entry(TEntity)

EntityEntry<TEntity>获取给定实体的 。 条目提供对实体的更改跟踪信息和操作的访问。

Find(Object[])

查找带给定主键值的实体。 如果上下文正在跟踪具有给定主键值的实体,则会立即返回该实体,而不会向数据库发出请求。 否则,将查询具有给定主键值的实体的数据库,如果找到此实体,则会附加到上下文并返回。 如果未找到任何实体,则返回 null。

FindAsync(Object[])

查找带给定主键值的实体。 如果上下文正在跟踪具有给定主键值的实体,则会立即返回该实体,而不会向数据库发出请求。 否则,将查询具有给定主键值的实体的数据库,如果找到此实体,则会附加到上下文并返回。 如果未找到任何实体,则返回 null。

FindAsync(Object[], CancellationToken)

查找带给定主键值的实体。 如果上下文正在跟踪具有给定主键值的实体,则会立即返回该实体,而不会向数据库发出请求。 否则,将查询具有给定主键值的实体的数据库,如果找到此实体,则会附加到上下文并返回。 如果未找到任何实体,则返回 null。

GetAsyncEnumerator(CancellationToken)

返回一个 , IAsyncEnumerator<T> 枚举时将对数据库异步执行查询。

Remove(TEntity)

开始跟踪处于 状态的给定实体,以便调用 时SaveChanges(),该实体Deleted将从数据库中删除。

RemoveRange(IEnumerable<TEntity>)

开始跟踪处于 状态 Deleted 的给定实体,以便在调用 时 SaveChanges() 将其从数据库中删除。

RemoveRange(TEntity[])

开始跟踪处于 状态 Deleted 的给定实体,以便在调用 时 SaveChanges() 将其从数据库中删除。

Update(TEntity)

默认情况下,使用 状态开始跟踪给定实体和可从给定实体 Modified 访问的条目,但有关将使用不同的状态的情况,请参阅下文。

UpdateRange(IEnumerable<TEntity>)

默认情况下,使用 状态开始跟踪可从给定实体访问的给定实体 Modified 和条目,但有关将使用不同的状态的情况,请参阅下文。

UpdateRange(TEntity[])

默认情况下,使用 状态开始跟踪可从给定实体访问的给定实体 Modified 和条目,但有关将使用不同的状态的情况,请参阅下文。

显式接口实现

IAsyncEnumerable<TEntity>.GetAsyncEnumerator(CancellationToken)

返回一个 , IAsyncEnumerator<T> 枚举时将对数据库异步执行查询。

IAsyncEnumerableAccessor<TEntity>.AsyncEnumerable

返回一个 , IAsyncEnumerable<T> 枚举时将针对数据库异步执行查询。

IEnumerable.GetEnumerator()

返回一个 , IEnumerator 枚举时将对数据库执行查询,以从数据库加载所有实体。

IEnumerable<TEntity>.GetEnumerator()

返回一个 , IEnumerator<T> 枚举时将对数据库执行查询,以从数据库加载所有实体。

IInfrastructure<IServiceProvider>.Instance

获取用于解析服务的作用域 IServiceProvider

IListSource.ContainsListCollection

获取一个值,该值指示集合是否为 System.Collections.IList 对象的集合。 始终返回 false

IListSource.GetList()

当尝试将数据直接 DbSet<TEntity>绑定到 时,数据绑定框架会调用此方法。

IQueryable.ElementType

获取 IQueryable 元素类型。

IQueryable.Expression

获取 IQueryable LINQ 表达式。

IQueryable.Provider

获取 IQueryable 提供程序。

扩展方法

FromSqlRaw<TEntity>(DbSet<TEntity>, String, Object[])

基于原始 SQL 查询创建 LINQ 查询。

WithPartitionKey<TEntity>(IQueryable<TEntity>, String)

指定用于查询的分区的分区键。 使用基于分区键提供权限的资源令牌进行身份验证时是必需的,

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

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

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

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

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

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

AsAsyncEnumerable<TSource>(IQueryable<TSource>)

返回 IAsyncEnumerable<T> 可以异步枚举的 。

AsNoTracking<TEntity>(IQueryable<TEntity>)

更改跟踪器不会跟踪从 LINQ 查询返回的任何实体。 如果修改了实体实例,则更改跟踪器不会检测到这些更改,也不会 SaveChanges() 将这些更改保存到数据库。

AsNoTrackingWithIdentityResolution<TEntity>(IQueryable<TEntity>)

更改跟踪器不会跟踪从 LINQ 查询返回的任何实体。 如果修改了实体实例,则更改跟踪器不会检测到这些更改,也不会 SaveChanges() 将这些更改保存到数据库。

AsTracking<TEntity>(IQueryable<TEntity>)

返回一个新查询,其中更改跟踪器将跟踪返回的所有实体的更改。 在 期间 SaveChanges(),将检测到对实体实例所做的任何修改并将其保存到数据库。

AsTracking<TEntity>(IQueryable<TEntity>, QueryTrackingBehavior)

返回一个新查询,其中更改跟踪器将跟踪所返回的所有实体的更改,具体取决于“track”参数的值。 跟踪时,将检测对实体实例的任何修改,并在 期间 SaveChanges()保存到数据库。 不跟踪时,如果修改了实体实例,更改跟踪器将不会检测到这些更改,也不会 SaveChanges() 将这些更改保存到数据库。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ElementAtAsync<TSource>(IQueryable<TSource>, Int32, CancellationToken)

异步返回序列中指定索引处的元素。

ElementAtOrDefaultAsync<TSource>(IQueryable<TSource>, Int32, CancellationToken)

异步返回序列中指定索引处的元素;如果索引在范围外,则返回默认值。

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

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

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

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

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

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

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

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

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

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

IgnoreAutoIncludes<TEntity>(IQueryable<TEntity>)

指定当前实体框架 LINQ 查询不应应用任何模型级预先加载的导航。

IgnoreQueryFilters<TEntity>(IQueryable<TEntity>)

指定当前实体框架 LINQ 查询不应应用任何模型级实体查询筛选器。

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

指定要包含在查询结果中的相关实体。 要包括的导航属性从) (TEntity 查询实体的类型开始指定。 可以追加要包含的更多导航属性,并用“.”字符分隔。

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

指定要包含在查询结果中的相关实体。 要包括的导航属性从) (TEntity 查询实体的类型开始指定。 如果希望基于所包含类型的导航属性包含其他类型,请在此调用后链接对 ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>) 的调用。

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

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

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

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

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

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

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

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

Load<TSource>(IQueryable<TSource>)

枚举查询。 使用实体框架时,这会导致查询结果加载到关联的上下文中。 这等效于调用 ToList,然后 (丢弃列表,而无需实际) 创建列表。

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

异步枚举查询。 使用实体框架时,这会导致查询结果加载到关联的上下文中。 这等效于调用 ToList,然后 (丢弃列表,而无需实际) 创建列表。

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

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

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

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

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

异步返回序列的最大值。

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

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

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

异步返回序列的最小值。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

将标记添加到与 EF LINQ 查询关联的标记集合。 标记是可在查询管道的不同点提供上下文跟踪信息的查询注释。

TagWithCallSite<T>(IQueryable<T>, String, Int32)

将标记添加到与 EF LINQ 查询关联的标记集合,其中包含源文件名称和行,其中调用方法可在查询管道的不同点提供上下文跟踪信息。

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

通过异步枚举数组,从 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>, 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>, CancellationToken)

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

GetInfrastructure<T>(IInfrastructure<T>)

从使用 IInfrastructure<T>隐藏的属性获取值。

此方法通常由数据库提供程序 (和其他扩展) 使用。 它通常不用于应用程序代码。

CreateProxy<TEntity>(DbSet<TEntity>, Action<TEntity>, Object[])

如果已启用代理创建,则为实体类型创建代理实例。

CreateProxy<TEntity>(DbSet<TEntity>, Object[])

如果已启用代理创建,则为实体类型创建代理实例。

AsSingleQuery<TEntity>(IQueryable<TEntity>)

返回一个新查询,该查询配置为在单个数据库查询的查询结果中加载集合。

AsSplitQuery<TEntity>(IQueryable<TEntity>)

返回一个新查询,该查询配置为通过单独的数据库查询在查询结果中加载集合。

ExecuteDelete<TSource>(IQueryable<TSource>)

从数据库中删除与 LINQ 查询匹配的实体实例的所有数据库行。

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

从数据库中异步删除与 LINQ 查询匹配的实体实例的数据库行。

ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>)

汇报与数据库中的 LINQ 查询匹配的实体实例的所有数据库行。

ExecuteUpdateAsync<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>, CancellationToken)

异步更新与数据库中的 LINQ 查询匹配的实体实例的数据库行。

FromSql<TEntity>(DbSet<TEntity>, FormattableString)

基于表示 SQL 查询的内插字符串创建 LINQ 查询。

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
已过时.

基于原始 SQL 查询创建 LINQ 查询。

如果数据库提供程序支持对提供的 SQL 进行撰写,则可以使用 LINQ 运算符在原始 SQL 查询的基础上进行撰写 - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)

与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数位置持有者,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)

此重载还接受 DbParameter 实例作为参数值。 这允许你在 SQL 查询字符串中使用命名参数 - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
已过时.

基于表示 SQL 查询的内插字符串创建 LINQ 查询。

如果数据库提供程序支持对提供的 SQL 进行撰写,则可以使用 LINQ 运算符在原始 SQL 查询的基础上进行撰写 - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)

与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含内插参数占位符。 提供的任何内插参数值将自动转换为 DbParameter - context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")

FromSql<TEntity>(IQueryable<TEntity>, String, Object[])

基于原始 SQL 查询创建 LINQ 查询。

如果数据库提供程序支持对提供的 SQL 进行撰写,则可以使用 LINQ 运算符在原始 SQL 查询的基础上进行撰写 - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)

与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数位置持有者,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)

还可以构造 DbParameter 并将其作为参数值提供给 。 这允许你在 SQL 查询字符串中使用命名参数 - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

FromSqlInterpolated<TEntity>(DbSet<TEntity>, FormattableString)

基于表示 SQL 查询的内插字符串创建 LINQ 查询。

FromSqlRaw<TEntity>(DbSet<TEntity>, String, Object[])

基于原始 SQL 查询创建 LINQ 查询。

TemporalAll<TEntity>(DbSet<TEntity>)

对给定的 DbSet 应用临时“所有”操作,这将返回实体的所有历史版本及其当前状态。

TemporalAsOf<TEntity>(DbSet<TEntity>, DateTime)

对给定 DbSet 应用临时“AsOf”操作,该操作仅返回给定时间点数据库中存在的元素。

TemporalBetween<TEntity>(DbSet<TEntity>, DateTime, DateTime)

对给定 DbSet 应用临时“Between”操作,该操作仅返回数据库中存在的两个时间点之间的元素。

TemporalContainedIn<TEntity>(DbSet<TEntity>, DateTime, DateTime)

对给定 DbSet 应用临时“ContainedIn”操作,该操作仅返回数据库中存在的两个时间点之间的元素。

TemporalFromTo<TEntity>(DbSet<TEntity>, DateTime, DateTime)

对给定 DbSet 应用临时“FromTo”操作,该操作仅返回数据库中存在的两个时间点之间的元素。

适用于