语言

KeyBuilder 类

定义

提供用于配置 . 的 IMutableKey简单 API。

public class KeyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalKeyBuilder>
[System.Runtime.CompilerServices.Nullable(0)]
public class KeyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionKeyBuilder>
public class KeyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalKeyBuilder>
public class KeyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionKeyBuilder>
type KeyBuilder = class
    interface IInfrastructure<IMutableModel>
    interface IInfrastructure<InternalKeyBuilder>
[<System.Runtime.CompilerServices.Nullable(0)>]
type KeyBuilder = class
    interface IInfrastructure<IConventionKeyBuilder>
type KeyBuilder = class
    interface IInfrastructure<InternalKeyBuilder>
type KeyBuilder = class
    interface IInfrastructure<IConventionKeyBuilder>
Public Class KeyBuilder
Implements IInfrastructure(Of IMutableModel), IInfrastructure(Of InternalKeyBuilder)
Public Class KeyBuilder
Implements IInfrastructure(Of IConventionKeyBuilder)
Public Class KeyBuilder
Implements IInfrastructure(Of InternalKeyBuilder)
继承
KeyBuilder
派生
特性
实现
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalKeyBuilder> IInfrastructure<IConventionKeyBuilder>

注解

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

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

构造函数

名称 说明
KeyBuilder(IMutableKey)

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

KeyBuilder(InternalKeyBuilder)

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

属性

名称 说明
Metadata

正在配置的密钥。

方法

名称 说明
HasAnnotation(String, Object)

添加或更新密钥上的批注。 如果具有在 中指定的键的批注 annotation 已存在其值将更新。

显式接口实现

名称 说明
IInfrastructure<IConventionKeyBuilder>.Instance

用于配置密钥的内部生成器。

IInfrastructure<IMutableModel>.Instance

键所属的模型。

IInfrastructure<InternalKeyBuilder>.Instance

用于配置密钥的内部生成器。

扩展方法

名称 说明
ForSqliteHasName(KeyBuilder, String)

在面向 SQLite 时配置数据库中密钥约束的名称。

ForSqlServerHasName(KeyBuilder, String)

在以SQL Server为目标时在数据库中配置密钥约束的名称。

ForSqlServerIsClustered(KeyBuilder, Boolean)
已过时.

配置在以SQL Server为目标时是否群集密钥。

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasFillFactor(KeyBuilder, Int32)

配置目标SQL Server时是否使用填充因子选项创建密钥。

HasName(KeyBuilder, String)

在面向关系数据库时配置数据库中键约束的名称。

IsClustered(KeyBuilder, Boolean)

配置在以SQL Server为目标时是否群集密钥。

适用于