Share via


KeyBuilder 类

定义

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

public class KeyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalKeyBuilder>
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>
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 InternalKeyBuilder)
Public Class KeyBuilder
Implements IInfrastructure(Of IConventionKeyBuilder)
继承
KeyBuilder
派生
实现
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalKeyBuilder> IInfrastructure<IConventionKeyBuilder>

注解

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

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

构造函数

KeyBuilder(IMutableKey)

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 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

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

扩展方法

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasName(KeyBuilder, String)

以关系数据库为目标时,在数据库中配置键约束的名称。

ForSqliteHasName(KeyBuilder, String)

以 SQLite 为目标时,在数据库中配置键约束的名称。

ForSqlServerHasName(KeyBuilder, String)

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

ForSqlServerIsClustered(KeyBuilder, Boolean)
已过时。.

配置在面向SQL Server时密钥是否聚集。

IsClustered(KeyBuilder, Boolean)

配置在面向SQL Server时密钥是否聚集。

适用于