RelationalOptionsExtension 类

定义

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

public abstract class RelationalOptionsExtension : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsExtension
type RelationalOptionsExtension = class
    interface IDbContextOptionsExtension
Public MustInherit Class RelationalOptionsExtension
Implements IDbContextOptionsExtension
继承
RelationalOptionsExtension
实现

注解

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

有关详细信息 和示例,请参阅数据库提供程序和扩展的实现

构造函数

RelationalOptionsExtension()

创建一组新的选项,其中所有选项都设置为默认值。

RelationalOptionsExtension(RelationalOptionsExtension)

实现 方法时由派生类构造函数调用 Clone()

属性

CommandTimeout

命令超时; null 如果未设置,则为 。

Connection

如果使用了 连接字符串,则DbConnection为 ,null而不是完整的连接对象。

ConnectionString

连接字符串,或者null是否DbConnection使用了 而不是连接字符串。

ExecutionStrategyFactory

用于创建默认 IExecutionStrategy的工厂,如果未 null 配置 ,则为 。

Info

有关扩展的信息/元数据。

IsConnectionOwned

trueConnection如果 为上下文所有且应适当释放,则为 。

LogFragment

为日志记录创建消息片段,通常包含有关已配置的任何有用非默认选项的信息。

MaxBatchSize

期间发送到数据库的 SaveChanges() 命令中将包含的最大语句数,如果未 null 设置任何语句,则为 。

MigrationsAssembly

包含迁移的程序集的名称;如果未设置迁移, null 则为 。

MigrationsHistoryTableName

要用于迁移历史记录表的表名称,如果未 null 设置,则为 。

MigrationsHistoryTableSchema

要用于迁移历史记录表的架构,如果未 null 设置,则为 。

MinBatchSize

期间或期间发送到数据库的 SaveChanges() 多语句命令所需的最小语句数( null 如果尚未设置任何语句)。

QuerySplittingBehavior

QuerySplittingBehavior 查询中加载相关集合时要使用的 。

UseRelationalNulls

指示比较 null 值时是否使用关系数据库语义。 默认情况下,实体框架将使用 C# 语义来获取 null 值,并生成 SQL 以弥补数据库处理 null 的方式的差异。

方法

ApplyServices(IServiceCollection)

添加使所选选项正常工作所需的服务。 当没有外部 IServiceProvider 并且 EF 在内部维护自己的服务提供程序时,会使用此方法。 这样,数据库提供程序 (和其他扩展) 在 EF 创建服务提供程序时注册其所需的服务。

Clone()

在派生类中重写此方法,以确保创建的任何克隆也为该类。

Extract(IDbContextOptions)

在给定选项上查找已注册的现有 RelationalOptionsExtension ,如果未注册任何选项,则引发 。 当已知正在使用关系提供程序时,这通常用于查找某些关系配置。

GetServiceProviderHashCode()

返回从任何选项创建的哈希代码,这些选项会导致需要新的 IServiceProvider 。 大多数扩展没有任何此类选项,应返回零。

Validate(IDbContextOptions)

使扩展有机会验证扩展中的所有选项是否有效。 大多数扩展没有无效的组合,因此这是一个无操作。 如果选项无效,则应引发异常。

WithCommandTimeout(Nullable<Int32>)

创建一个新实例,其所有选项都与此实例相同,但给定的选项已更改。 直接调用此方法是不寻常的。 请改用 DbContextOptionsBuilder

WithConnection(DbConnection)

创建一个新实例,其所有选项都与此实例相同,但给定的选项已更改。 直接调用此方法是不寻常的。 请改用 DbContextOptionsBuilder

WithConnection(DbConnection, Boolean)

创建一个新实例,其所有选项都与此实例相同,但给定的选项已更改。 直接调用此方法是不寻常的。 请改用 DbContextOptionsBuilder

WithConnectionString(String)

创建一个新实例,其所有选项都与此实例相同,但给定的选项已更改。 直接调用此方法是不寻常的。 请改用 DbContextOptionsBuilder

WithDefaultWarningConfiguration(CoreOptionsExtension)

为关系事件添加默认值 WarningBehavior

WithExecutionStrategyFactory(Func<ExecutionStrategyDependencies,IExecutionStrategy>)

创建一个新实例,其所有选项都与此实例相同,但给定的选项已更改。 直接调用此方法是不寻常的。 请改用 DbContextOptionsBuilder

WithMaxBatchSize(Nullable<Int32>)

创建一个新实例,其所有选项都与此实例相同,但给定的选项已更改。 直接调用此方法是不寻常的。 请改用 DbContextOptionsBuilder

WithMigrationsAssembly(String)

创建一个新实例,其所有选项都与此实例相同,但给定的选项已更改。 直接调用此方法是不寻常的。 请改用 DbContextOptionsBuilder

WithMigrationsHistoryTableName(String)

创建一个新实例,其所有选项都与此实例相同,但给定的选项已更改。 直接调用此方法是不寻常的。 请改用 DbContextOptionsBuilder

WithMigrationsHistoryTableSchema(String)

创建一个新实例,其所有选项都与此实例相同,但给定的选项已更改。 直接调用此方法是不寻常的。 请改用 DbContextOptionsBuilder

WithMinBatchSize(Nullable<Int32>)

创建一个新实例,其所有选项都与此实例相同,但给定的选项已更改。 直接调用此方法是不寻常的。 请改用 DbContextOptionsBuilder

WithUseQuerySplittingBehavior(QuerySplittingBehavior)

创建一个新实例,其所有选项都与此实例相同,但给定的选项已更改。 直接调用此方法是不寻常的。 请改用 DbContextOptionsBuilder

WithUseRelationalNulls(Boolean)

创建一个新实例,其所有选项都与此实例相同,但给定的选项已更改。 直接调用此方法是不寻常的。 请改用 DbContextOptionsBuilder

适用于