DbContext 类

定义

DbContext 实例表示与数据库的会话,可用于查询和保存实体实例。 DbContext 是工作单元和存储库模式的组合。

public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>
public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbQueryCache, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
public class DbContext : IAsyncDisposable, IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbContextPoolable
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbQueryCache
    interface IDbContextPoolable
type DbContext = class
    interface IDisposable
    interface IAsyncDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbContextPoolable
    interface IResettableService
Public Class DbContext
Implements IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IDbContextDependencies, IDbContextPoolable, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IDbContextDependencies, IDbContextPoolable, IDbQueryCache, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IAsyncDisposable, IDbContextDependencies, IDbContextPoolable, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
继承
DbContext
实现
IInfrastructure<IServiceProvider> IDisposable Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable Microsoft.EntityFrameworkCore.Internal.IDbSetCache Microsoft.EntityFrameworkCore.Internal.IDbQueryCache IResettableService IAsyncDisposable

注解

通常,你将创建一个从 DbContext 派生的类,并在 DbSet<TEntity> 模型中包含每个实体的属性。 如果 DbSet<TEntity> 属性具有公共资源库,则在创建派生上下文的实例时,它们会自动初始化。

重写 OnConfiguring(DbContextOptionsBuilder) 方法以配置要用于上下文的数据库 (和其他选项) 。 或者,如果你想要在上下文中以外部方式而不是内联方式执行配置,则可以使用 DbContextOptionsBuilder<TContext> (或 DbContextOptionsBuilder) 外部创建 DbContextOptions<TContext> (或 DbContextOptions) 的实例,然后将其传递给的基本构造函数 DbContext

通过在派生上下文的属性中找到的实体类上运行一组约定来发现模型 DbSet<TEntity> 。 若要进一步配置由约定发现的模型,可以重写 OnModelCreating(ModelBuilder) 方法。

构造函数

DbContext()

初始化 DbContext 类的新实例。 OnConfiguring(DbContextOptionsBuilder) 将调用方法以配置要用于此上下文的数据库 (和其他选项) 。

DbContext(DbContextOptions)

DbContext使用指定的选项初始化类的新实例。 OnConfiguring(DbContextOptionsBuilder)仍将调用方法以允许进一步配置选项。

属性

ChangeTracker

提供对此上下文跟踪的实体实例的信息和操作的访问。

ContextId

上下文实例和池租约的唯一标识符(如果有)。

此标识符主要用作日志记录和调试的相关 ID,以便易于识别多个事件使用相同或不同的上下文实例。

Database

提供对此上下文的数据库相关信息和操作的访问。

Model

有关实体形状、实体之间的关系以及它们如何映射到数据库的元数据。

方法

Add(Object)

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

State仅用于设置单个实体的状态。

Add<TEntity>(TEntity)

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

State仅用于设置单个实体的状态。

AddAsync(Object, CancellationToken)

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

State仅用于设置单个实体的状态。

此方法只是允许使用特殊值生成器,如 "Microsoft.entityframeworkcore" 使用的生成器,以便以异步方式访问数据库。 对于所有其他情况,应使用非异步方法。

AddAsync<TEntity>(TEntity, CancellationToken)

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

此方法只是允许使用特殊值生成器,如 "Microsoft.entityframeworkcore" 使用的生成器,以便以异步方式访问数据库。 对于所有其他情况,应使用非异步方法。

AddRange(IEnumerable<Object>)

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

AddRange(Object[])

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

AddRangeAsync(IEnumerable<Object>, CancellationToken)

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

此方法只是允许使用特殊值生成器,如 "Microsoft.entityframeworkcore" 使用的生成器,以便以异步方式访问数据库。 对于所有其他情况,应使用非异步方法。

AddRangeAsync(Object[])

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

此方法只是允许使用特殊值生成器,如 "Microsoft.entityframeworkcore" 使用的生成器,以便以异步方式访问数据库。 对于所有其他情况,应使用非异步方法。

Attach(Object)

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

通常,在调用之前不会执行数据库交互 SaveChanges()

将执行对导航属性的递归搜索以查找上下文尚未跟踪的可访问实体。 找到的所有实体将由上下文跟踪。

对于包含生成的键的实体类型,如果实体设置了其主键值,则会在状态中跟踪该实体 Unchanged 。 如果未设置主键值,则会在状态中跟踪 Added 。 这有助于确保只插入新的实体。 如果 primary key 属性设置为属性类型的 CLR 默认值以外的任何值,则会将该实体视为具有其主键值。

对于没有生成键的实体类型,状态集始终为 Unchanged

State仅用于设置单个实体的状态。

Attach<TEntity>(TEntity)

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

通常,在调用之前不会执行数据库交互 SaveChanges()

将执行对导航属性的递归搜索以查找上下文尚未跟踪的可访问实体。 找到的所有实体将由上下文跟踪。

对于包含生成的键的实体类型,如果实体设置了其主键值,则会在状态中跟踪该实体 Unchanged 。 如果未设置主键值,则会在状态中跟踪 Added 。 这有助于确保只插入新的实体。 如果 primary key 属性设置为属性类型的 CLR 默认值以外的任何值,则会将该实体视为具有其主键值。

对于没有生成键的实体类型,状态集始终为 Unchanged

State仅用于设置单个实体的状态。

AttachRange(IEnumerable<Object>)

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

通常,在调用之前不会执行数据库交互 SaveChanges()

将执行对导航属性的递归搜索以查找上下文尚未跟踪的可访问实体。 找到的所有实体将由上下文跟踪。

对于包含生成的键的实体类型,如果实体设置了其主键值,则会在状态中跟踪该实体 Unchanged 。 如果未设置主键值,则会在状态中跟踪 Added 。 这有助于确保只插入新的实体。 如果 primary key 属性设置为属性类型的 CLR 默认值以外的任何值,则会将该实体视为具有其主键值。

对于没有生成键的实体类型,状态集始终为 Unchanged

State仅用于设置单个实体的状态。

AttachRange(Object[])

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

通常,在调用之前不会执行数据库交互 SaveChanges()

将执行对导航属性的递归搜索以查找上下文尚未跟踪的可访问实体。 找到的所有实体将由上下文跟踪。

对于包含生成的键的实体类型,如果实体设置了其主键值,则会在状态中跟踪该实体 Unchanged 。 如果未设置主键值,则会在状态中跟踪 Added 。 这有助于确保只插入新的实体。 如果 primary key 属性设置为属性类型的 CLR 默认值以外的任何值,则会将该实体视为具有其主键值。

对于没有生成键的实体类型,状态集始终为 Unchanged

State仅用于设置单个实体的状态。

Dispose()

为此上下文释放已分配的资源。

DisposeAsync()

为此上下文释放已分配的资源。

Entry(Object)

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

可以在未跟踪的实体上调用此方法。 然后,你可以对 State 返回的项设置属性,使上下文开始在指定的状态中跟踪实体。

Entry<TEntity>(TEntity)

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

Find(Type, Object[])

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

Find<TEntity>(Object[])

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

FindAsync(Type, Object[])

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

FindAsync(Type, Object[], CancellationToken)

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

FindAsync<TEntity>(Object[])

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

FindAsync<TEntity>(Object[], CancellationToken)

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

FromExpression<TResult>(Expression<Func<IQueryable<TResult>>>)

创建给定查询表达式的可查询。

OnConfiguring(DbContextOptionsBuilder)

重写此方法以配置要用于此上下文的数据库 (和其他选项) 。 对于创建的上下文的每个实例,都会调用此方法。 基实现不执行任何操作。

如果的实例 DbContextOptions 可能已或可能尚未传递到构造函数,则可以使用 IsConfigured 来确定是否已设置这些选项,并跳过中的部分或全部逻辑 OnConfiguring(DbContextOptionsBuilder)

OnModelCreating(ModelBuilder)

重写此方法,以进一步配置由派生上下文的属性中公开的实体类型所发现的模型 DbSet<TEntity> 。 可能会缓存生成的模型,并将其重新用于派生上下文的后续实例。

Query<TQuery>()
已过时。

创建 DbSet<TEntity> 可用于查询实例的 TQuery

Remove(Object)

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

Remove<TEntity>(TEntity)

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

RemoveRange(IEnumerable<Object>)

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

RemoveRange(Object[])

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

SaveChanges()

将在此上下文中所做的所有更改保存到数据库中。

DetectChanges()在保存到基础数据库之前,此方法将自动调用以发现对实体实例所做的任何更改。 这可以通过来禁用 AutoDetectChangesEnabled

SaveChanges(Boolean)

将在此上下文中所做的所有更改保存到数据库中。

DetectChanges()在保存到基础数据库之前,此方法将自动调用以发现对实体实例所做的任何更改。 这可以通过来禁用 AutoDetectChangesEnabled

SaveChangesAsync(Boolean, CancellationToken)

将在此上下文中所做的所有更改保存到数据库中。

DetectChanges()在保存到基础数据库之前,此方法将自动调用以发现对实体实例所做的任何更改。 这可以通过来禁用 AutoDetectChangesEnabled

不支持对同一上下文实例进行多个活动的操作。 在对此上下文调用其他方法之前,请使用 "await" 确保所有异步操作都已完成。

SaveChangesAsync(CancellationToken)

将在此上下文中所做的所有更改保存到数据库中。

DetectChanges()在保存到基础数据库之前,此方法将自动调用以发现对实体实例所做的任何更改。 这可以通过来禁用 AutoDetectChangesEnabled

不支持对同一上下文实例进行多个活动的操作。 在对此上下文调用其他方法之前,请使用 "await" 确保所有异步操作都已完成。

Set<TEntity>()

创建 DbSet<TEntity> 可用于查询和保存实例的 TEntity

Set<TEntity>(String)

创建 DbSet<TEntity> 可用于查询和保存实例的 TEntity

Update(Object)

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

通常,在调用之前不会执行数据库交互 SaveChanges()

将执行对导航属性的递归搜索以查找上下文尚未跟踪的可访问实体。 找到的所有实体将由上下文跟踪。

对于包含生成的键的实体类型,如果实体设置了其主键值,则会在状态中跟踪该实体 Modified 。 如果未设置主键值,则会在状态中跟踪 Added 。 这有助于确保将插入新实体,而将更新现有实体。 如果 primary key 属性设置为属性类型的 CLR 默认值以外的任何值,则会将该实体视为具有其主键值。

对于没有生成键的实体类型,状态集始终为 Modified

State仅用于设置单个实体的状态。

Update<TEntity>(TEntity)

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

通常,在调用之前不会执行数据库交互 SaveChanges()

将执行对导航属性的递归搜索以查找上下文尚未跟踪的可访问实体。 找到的所有实体将由上下文跟踪。

对于包含生成的键的实体类型,如果实体设置了其主键值,则会在状态中跟踪该实体 Modified 。 如果未设置主键值,则会在状态中跟踪 Added 。 这有助于确保将插入新实体,而将更新现有实体。 如果 primary key 属性设置为属性类型的 CLR 默认值以外的任何值,则会将该实体视为具有其主键值。

对于没有生成键的实体类型,状态集始终为 Modified

State仅用于设置单个实体的状态。

UpdateRange(IEnumerable<Object>)

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

通常,在调用之前不会执行数据库交互 SaveChanges()

将执行对导航属性的递归搜索以查找上下文尚未跟踪的可访问实体。 找到的所有实体将由上下文跟踪。

对于包含生成的键的实体类型,如果实体设置了其主键值,则会在状态中跟踪该实体 Modified 。 如果未设置主键值,则会在状态中跟踪 Added 。 这有助于确保将插入新实体,而将更新现有实体。 如果 primary key 属性设置为属性类型的 CLR 默认值以外的任何值,则会将该实体视为具有其主键值。

对于没有生成键的实体类型,状态集始终为 Modified

State仅用于设置单个实体的状态。

UpdateRange(Object[])

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

通常,在调用之前不会执行数据库交互 SaveChanges()

将执行对导航属性的递归搜索以查找上下文尚未跟踪的可访问实体。 找到的所有实体将由上下文跟踪。

对于包含生成的键的实体类型,如果实体设置了其主键值,则会在状态中跟踪该实体 Modified 。 如果未设置主键值,则会在状态中跟踪 Added 。 这有助于确保将插入新实体,而将更新现有实体。 如果 primary key 属性设置为属性类型的 CLR 默认值以外的任何值,则会将该实体视为具有其主键值。

对于没有生成键的实体类型,状态集始终为 Modified

State仅用于设置单个实体的状态。

事件

SaveChangesFailed

当对或的调用 SaveChanges SaveChangesAsync 因异常而失败时引发的事件。

SavedChanges

在对或的调用结束时激发的事件 SaveChangesSaveChangesAsync

SavingChanges

在对或的调用开始时激发的事件 SaveChangesSaveChangesAsync

显式接口实现

IDbContextDependencies.ChangeDetector

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbContextDependencies.EntityFinderFactory

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbContextDependencies.EntityFinderSource

此 API 支持 Entity Framework Core 基础结构,不应在代码中直接使用。 将来的版本中可能会更改或删除此 API。

IDbContextDependencies.EntityGraphAttacher

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbContextDependencies.InfrastructureLogger

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbContextDependencies.QueryProvider

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbContextDependencies.QuerySource

此 API 支持 Entity Framework Core 基础结构,不应在代码中直接使用。 将来的版本中可能会更改或删除此 API。

IDbContextDependencies.SetSource

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbContextDependencies.StateManager

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbContextDependencies.UpdateLogger

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbContextPoolable.ClearLease()

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbContextPoolable.ResetState()
IDbContextPoolable.Resurrect(DbContextPoolConfigurationSnapshot)

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbContextPoolable.SetLease(DbContextLease)

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbContextPoolable.SetPool(IDbContextPool)

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbContextPoolable.SnapshotConfiguration()

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbQueryCache.GetOrAddQuery(IDbQuerySource, Type)

此 API 支持 Entity Framework Core 基础结构,不应在代码中直接使用。 将来的版本中可能会更改或删除此 API。

IDbSetCache.GetOrAddSet(IDbSetSource, String, Type)

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IDbSetCache.GetOrAddSet(IDbSetSource, Type)

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IInfrastructure<IServiceProvider>.Instance

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

此属性旨在供需要使用公共 API 图面中不直接公开的服务的扩展方法使用。

IResettableService.ResetState()

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

IResettableService.ResetStateAsync(CancellationToken)

这是支持 Entity Framework Core 基础结构的内部 API,与公共 Api 的兼容性标准不相同。 在任何版本中,它可能会被更改或删除,而不另行通知。 应特别小心地在代码中直接使用它,并且知道这样做可能会导致应用程序在更新到新的 Entity Framework Core 版本时失败。

扩展方法

GetInfrastructure<T>(IInfrastructure<T>)

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

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

IInfrastructure<T> 用于隐藏不应在应用程序代码中使用的属性,但可在数据库提供程序编写的扩展方法中使用。

CreateProxy(DbContext, Type, Object[])

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

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

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

CreateProxy<TEntity>(DbContext, Object[])

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

适用于