IndexBuilder 类

定义

提供用于配置 的 IMutableIndex简单 API。

public class IndexBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalIndexBuilder>
public class IndexBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalIndexBuilder>
public class IndexBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionIndexBuilder>
type IndexBuilder = class
    interface IInfrastructure<IMutableModel>
    interface IInfrastructure<InternalIndexBuilder>
type IndexBuilder = class
    interface IInfrastructure<InternalIndexBuilder>
type IndexBuilder = class
    interface IInfrastructure<IConventionIndexBuilder>
Public Class IndexBuilder
Implements IInfrastructure(Of IMutableModel), IInfrastructure(Of InternalIndexBuilder)
Public Class IndexBuilder
Implements IInfrastructure(Of InternalIndexBuilder)
Public Class IndexBuilder
Implements IInfrastructure(Of IConventionIndexBuilder)
继承
IndexBuilder
派生
实现
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalIndexBuilder> IInfrastructure<IConventionIndexBuilder>

注解

此类的实例在使用 API 时从方法中返回, ModelBuilder 它不是在应用程序代码中直接构造的。

有关详细信息和示例,请参阅 为实体类型和关系建模

构造函数

IndexBuilder(IMutableIndex)

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

IndexBuilder(InternalIndexBuilder)

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

属性

Metadata

正在配置的索引。

方法

HasAnnotation(String, Object)

添加或更新索引上的批注。 如果批注中指定了键annotation 已存在,其值将更新。

IsDescending(Boolean[])

为此索引的列配置 () 的排序顺序, (升序或降序) 。

IsUnique(Boolean)

配置此索引 (即每个实例) (值) 必须唯一。

显式接口实现

IInfrastructure<IConventionIndexBuilder>.Instance

用于配置索引的内部生成器。

IInfrastructure<IMutableModel>.Instance

索引所属的模型。

IInfrastructure<InternalIndexBuilder>.Instance

用于配置索引的内部生成器。

扩展方法

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasDatabaseName(IndexBuilder, String)

以关系数据库为目标时,在数据库中配置索引的名称。

HasFilter(IndexBuilder, String)

配置索引的筛选器表达式。

HasName(IndexBuilder, String)
已过时。.

以关系数据库为目标时,在数据库中配置索引的名称。

ForSqliteHasName(IndexBuilder, String)

以 SQLite 为目标时,在数据库中配置索引的名称。

ForSqlServerHasName(IndexBuilder, String)

以SQL Server为目标时,在数据库中配置索引的名称。

ForSqlServerInclude(IndexBuilder, String[])
已过时。.

在面向SQL Server时配置索引包括属性。

ForSqlServerIsClustered(IndexBuilder, Boolean)
已过时。.

配置在面向SQL Server时是否聚集索引。

ForSqlServerIsCreatedOnline(IndexBuilder, Boolean)
已过时。.

配置在面向SQL Server时,是否使用联机选项创建索引。

HasFillFactor(IndexBuilder, Int32)

配置在面向SQL Server时是否使用填充因子选项创建索引。

IncludeProperties(IndexBuilder, String[])

在面向SQL Server时配置索引包括属性。

IsClustered(IndexBuilder, Boolean)

配置在面向SQL Server时是否聚集索引。

IsCreatedOnline(IndexBuilder, Boolean)

配置在面向SQL Server时,是否使用联机选项创建索引。

SortInTempDb(IndexBuilder, Boolean)

配置在面向SQL Server时,是否使用 tempdb 中的排序选项创建索引。

UseDataCompression(IndexBuilder, DataCompressionType)

配置在面向SQL Server时是否使用数据压缩选项创建索引。

适用于