Microsoft.EntityFrameworkCore.Infrastructure 命名空间

类

名称 说明
AccessorExtensions

的 IInfrastructure<T>扩展方法 。

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

Annotatable

支持读取和写入批注的类型的基类。

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

AnnotatableBase

支持读取和写入批注的类型的基类。

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

AnnotatableBuilder<TMetadata,TModelBuilder>

具有简单 API 图面的基类型,用于配置 ConventionAnnotatable。

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

AnnotatableExtensions

的 IReadOnlyAnnotatable扩展方法 。

Annotation

可在实现 IReadOnlyAnnotatable的对象上存储的任意元数据片段。

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

AzureSqlDbContextOptionsBuilder

允许对Azure SQL执行特定配置DbContextOptions。

AzureSynapseDbContextOptionsBuilder

允许对Azure Synapse执行特定配置DbContextOptions。

ConventionAnnotatable

支持读取和写入约定批注的类型的基类。

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

CoreOptionsExtension

表示由 Entity Framework 核心管理的选项,而不是由数据库提供程序或扩展管理的选项。 这些选项是使用 DbContextOptionsBuilder.

此类的实例设计为不可变。 若要更改选项,请调用其中一个“With...”用于获取选项已更改的新实例的方法。

CosmosDbContextOptionsBuilder

允许对 Cosmos 特定的配置执行 DbContextOptions。

DatabaseFacade

提供对上下文的数据库相关信息和操作的访问权限。 此类的实例通常是从中 Database 获取的,它不设计为直接在应用程序代码中构造。

DbContextAttribute

标识 DbContext 类所属。 例如,此属性用于标识迁移适用的上下文。 它还用于指示程序集中用于设计时工具的上下文。

DbContextFactoryOptions

提供有关运行应用程序的环境的信息。

DbContextModelAttribute

标识 RuntimeModel 应用于给定上下文的实现。

DbContextOptionsExtensionInfo

..的信息/元数据IDbContextOptionsExtension

DebugView

延迟生成的调试字符串的占位符,可在调试器中展开以生成和显示它们。

DesignTimeProviderServicesAttribute

标识查找给定数据库提供程序的设计时服务的位置。 此属性应存在于数据库提供程序的主程序集中。

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

EntityFrameworkEventSource

发出 EventSource Entity Framework 性能计数器数据。

EntityFrameworkInternalAttribute

将 API 标记为内部Entity Framework Core。 这些 API 不受与公共 API 相同的兼容性标准的约束。 可以在任何版本中更改或删除它,而不通知。 应仅在代码中直接使用此类 API,并非常谨慎地知道这样做可能会导致应用程序在更新到新的Entity Framework Core版本时失败。

EntityFrameworkMetricsData

实现性能指标。

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

EntityFrameworkRelationalServicesBuilder

专为注册服务时要使用的关系数据库提供程序设计的生成器 API。

EntityFrameworkServiceCollectionExtensions

用于在 . IServiceCollection. 中设置 Entity Framework 相关服务的扩展方法。

EntityFrameworkServicesBuilder

为注册服务时要使用的数据库提供程序设计的生成器 API。

ExpressionExtensions

类型的 Expression 扩展方法。

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

IndentedStringBuilder

一个细包装器 StringBuilder ,用于向生成的每一行添加缩进。

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

InMemoryDbContextOptionsBuilder

允许对内存中特定的配置执行 DbContextOptions。

LazyLoaderExtensions

使从实体类使用更方便的服务的扩展方法 ILazyLoader 。

MethodInfoExtensions

的 MethodInfo扩展方法 。

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

ModelCacheKey

一个键,用于唯一标识给定上下文的模型。 这用于存储和查找给定上下文的缓存模型。 此默认实现使用上下文类型作为键,因此假定给定类型的所有上下文具有相同的模型。

ModelCacheKeyFactory

创建唯一标识给定上下文的模型的键。 这用于存储和查找给定上下文的缓存模型。 此默认实现使用上下文类型作为键,因此假定给定类型的所有上下文具有相同的模型。

ModelCacheKeyFactoryDependencies

服务依赖项参数类 ModelCacheKeyFactory

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

ModelCustomizer

为给定上下文生成模型。 此实现通过调用 OnModelCreating(ModelBuilder) 上下文来生成模型。

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

ModelCustomizerDependencies

服务依赖项参数类 ModelCustomizer

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

ModelDependencies

服务依赖项参数类 IModel

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

ModelRuntimeInitializer

使用运行时依赖项初始化 a IModel 。

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

ModelRuntimeInitializerDependencies

服务依赖项参数类 ModelRuntimeInitializer

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

ModelSnapshot

迁移生成的状态快照的 IModel 基类。

ModelSource

其实现 IModelSource 基于 DbSet<TEntity> 上下文中公开的属性生成模型。 缓存模型以避免每次请求时重新创建它。

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

ModelSourceDependencies

服务依赖项参数类 ModelSource

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

ModelValidator

强制执行所有提供程序通用的核心规则的验证程序。

ModelValidatorDependencies

服务依赖项参数类 ModelValidator

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

NavigationBaseExtensions

的 INavigationBase扩展方法 。

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

PooledDbContextFactory<TContext>

返回共用 DbContext 实例的工厂。 释放此工厂返回的实例会将其返回到内部池机制。

ProductInfo

用于查找正在使用Entity Framework Core版本的帮助程序类。

RelationalDbContextOptionsBuilder<TBuilder,TExtension>

允许对 DbContextOptions关系数据库执行特定的配置。

RelationalModelCustomizer

为给定上下文生成模型。

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

RelationalModelDependencies

关系模型服务依赖项。

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

RelationalModelExtensions

关系特定的扩展方法。IModel

RelationalModelRuntimeInitializer

使用运行时依赖项初始化 a IModel 。

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

RelationalModelRuntimeInitializerDependencies

服务依赖项参数类 RelationalModelRuntimeInitializer

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

RelationalModelValidator

强制执行所有关系提供程序通用规则的验证程序。

RelationalModelValidatorDependencies

服务依赖项参数类 RelationalModelValidator

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

RelationalOptionsExtension

表示由关系数据库提供程序管理的选项。 这些选项是使用 DbContextOptionsBuilder.

RelationalOptionsExtension.RelationalExtensionInfo

..的信息/元数据RelationalOptionsExtension

RelationalPropertyExtensions

的关系扩展方法 。IReadOnlyProperty

RelationalServiceCollectionExtensions

关系数据库特定的扩展方法。IServiceCollection

RuntimeAnnotatableBase

支持读取和写入批注的类型的基类。

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

RuntimeModelDependencies

服务依赖项参数类 IReadOnlyModel

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

SensitiveDataLogger<T>

可以启用或禁用敏感数据日志记录的包装记录器。

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

ServiceCollectionMap

提供一个地图,该映射 IServiceCollection 允许 ServiceDescriptor 在每次完成此操作时对服务集合进行线性扫描即可有条件地添加或重新写入条目。

ServiceProviderAccessor

此类型作为单一实例服务添加到应用程序服务提供程序,以提供对根服务提供商的访问权限。

SpatialiteLoader

查找并加载 SpatiaLite。

SqlEngineDbContextOptionsBuilder

允许对特定配置执行DbContextOptionsSQL Server、Azure SQL Azure Synapse。

SqlEngineDbContextOptionsBuilderBase<TSelf>

SQL Server、Azure SQL、Azure Synapse 等特定生成器的基类。

SqliteDbContextOptionsBuilder

允许对 SQLite 执行 DbContextOptions特定的配置。

SqlServerDbContextOptionsBuilder

允许对SQL Server执行特定配置DbContextOptions。

StructuredJsonPath

表示由属性名称段和数组索引占位符组成的结构化 JSON 路径,以及数组位置的运行时索引值。

TypeExtensions

实例的 Type 扩展方法。

这些扩展通常由数据库提供程序(和其他扩展)使用。 应用程序代码中通常不使用它们。

Uniquifier

提供用于操作字符串标识符的方法。

WarningsConfigurationBuilder

配置 Entity Framework 生成的警告的运行时行为。 可以为每个警告类型设置默认行为和行为。

此类在 API 中使用 ConfigureWarnings(Action<WarningsConfigurationBuilder>) ,不设计为直接在应用程序代码中构造。

结构

名称 说明
ConcurrencyDetectorCriticalSectionDisposer

IDisposable由一个IConcurrencyDetector返回的,将在释放时退出正在进行的关键部分。

DbSetProperty

一个结构,表示 DbContext 派生类型上定义的属性分面 DbSet<TEntity> 。

EntityFrameworkServicesBuilder.ServiceCharacteristics

这是一个内部 API,支持Entity Framework Core基础结构,不受与公共 API 相同的兼容性标准的约束。 可以在任何版本中更改或删除它,而不通知。 只需在代码中直接使用它,并非常谨慎地知道这样做可能会导致应用程序在更新到新的Entity Framework Core版本时失败。

ServiceCharacteristics

给定 EF 服务的特征。

接口

名称 说明
IAnnotatable

公开生成时间和运行时批注的类。 批注允许将任意元数据存储在对象上。

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

IAnnotation

可在实现 IReadOnlyAnnotatable的对象上存储的任意元数据片段。

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

IConcurrencyDetector

EF 内部代码和数据库提供程序用于检测对非线程安全资源的并发访问。

ICoreSingletonOptions

在 IServiceProvider 单一实例级别设置的选项,用于控制核心选项。

ICosmosDbContextOptionsBuilderInfrastructure

显式实现方法是 CosmosDbContextOptionsBuilder 隐藏数据库提供程序扩展方法使用的方法,但不应由应用程序开发人员调用。

ICurrentDbContext

在 Entity Framework 的内部服务提供商中注册为作用域内服务,以提供对 DbContext 当前使用的访问权限。

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

IDbContextFactory<TContext>

用于创建派生 DbContext 实例的工厂。 实现此接口,为没有公共默认构造函数的上下文类型启用设计时服务。 在设计时,可以创建派生 DbContext 实例,以便启用特定的设计时体验,例如迁移。 设计时服务将自动发现此接口的实现,这些实现与派生上下文位于同一程序集中。

IDbContextOptions

要使用的 DbContext选项。 通常重写 OnConfiguring(DbContextOptionsBuilder) 或使用 a DbContextOptionsBuilder 创建实现此接口的类的实例,它们不设计为直接在应用程序代码中创建。

IDbContextOptionsBuilderInfrastructure

显式实现方法是 DbContextOptionsBuilder 隐藏数据库提供程序扩展方法使用的方法,但不应由应用程序开发人员调用。

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

IDbContextOptionsConfiguration<TContext>

配置供一个 DbContext. 使用的选项。 通常调用 ConfigureDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime) 注册此类,它不设计为直接在应用程序代码中构造。

IDbContextOptionsExtension

存储在 .. 中的 Extensions扩展的接口。

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

IDbContextOptionsExtensionWithDebugInfo

扩展接口,还允许收集调试信息。 此接口很可能合并到 IDbContextOptionsExtension EF Core 3.0 中。

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

IDbSetFinder

用于查找 DbSet<TEntity> 继承自 DbContext的类型的属性的服务。

IDesignTimeServices

启用配置设计时服务。 工具将自动发现启动程序集中此接口的实现。

IInfrastructure<T>

此接口是按类型显式实现的,用于隐藏不打算在应用程序代码中使用的属性,但可用于数据库提供程序等编写的扩展方法。

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

IInMemoryDbContextOptionsBuilderInfrastructure

显式实现方法是 InMemoryDbContextOptionsBuilder 隐藏数据库提供程序扩展方法使用的方法,但不应由应用程序开发人员调用。

IInternalServiceCollectionMap

公开允许提供程序在内部服务提供程序上注册 EF 服务依赖项对象的方法。

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

ILazyLoader

可以注入实体的服务,以便在首次访问导航属性时自动加载导航属性的功能。

IModelCacheKeyFactory

创建唯一标识给定上下文的模型的键。 这用于存储和查找给定上下文的缓存模型。

IModelCustomizer

除了约定发现的内容外,还执行模型的其他配置。

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

IModelRuntimeInitializer

使用运行时依赖项初始化 a IModel 。 这通常由数据库提供程序实现,以确保使用特定于其数据库的任何运行时依赖项。

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

IModelSource

IModel生成基于上下文的上下文。 这通常由数据库提供程序实现,以确保使用特定于其数据库的任何约定和验证。

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

IModelValidator

在生成模型后验证模型。

IReadOnlyAnnotatable

支持批注的类。 批注允许将任意元数据存储在对象上。

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

IRelationalDbContextOptionsBuilderInfrastructure

显式实现方法是 RelationalDbContextOptionsBuilder<TBuilder,TExtension> 隐藏数据库提供程序扩展方法使用的方法,但不应由应用程序开发人员调用。

IResettableService

此接口必须由需要在不同池中相同 DbContext 不同用途之间重置的任何服务实现。

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

ISensitiveDataLogger

ILogger可以启用或禁用敏感数据的日志记录。

ISensitiveDataLogger<T>

ILogger<TCategoryName>可以启用或禁用敏感数据的日志记录。

ISingletonOptions

由任何表示只能在单一实例级别设置 IServiceProvider 的选项的类实现。

枚举

名称 说明
CoreEventId

记录来自核心 Entity Framework 组件的消息时用作 eventId 的值。

DesignEventId
InMemoryEventId

通过 ILogger内存中数据库提供程序记录消息时用作 eventId 的值。

MetadataDebugStringOptions

用于以不同方式打印元数据对象的调试字符串的选项。

RelationalDesignEventId
RelationalEventId

通过 ILogger关系数据库提供程序记录消息时用作 eventId 的值。

SqliteDesignEventId

记录来自 SQLite 设计Entity Framework Core组件的消息时用作 eventId 的值。

SqlServerDesignEventId

记录来自SQL Server设计Entity Framework Core组件的消息时用作 eventId 的值。