RuntimeKey 类

定义

表示实体类型上的主键或备用键。

public class RuntimeKey : Microsoft.EntityFrameworkCore.Infrastructure.AnnotatableBase, Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeKey
type RuntimeKey = class
    inherit AnnotatableBase
    interface IRuntimeKey
    interface IKey
    interface IReadOnlyKey
    interface IReadOnlyAnnotatable
    interface IAnnotatable
Public Class RuntimeKey
Inherits AnnotatableBase
Implements IRuntimeKey
继承
RuntimeKey
实现
IAnnotatable IReadOnlyAnnotatable IKey Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeKey IReadOnlyKey

注解

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

构造函数

RuntimeKey(IReadOnlyList<RuntimeProperty>)

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

属性

DebugView

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

DeclaringEntityType

获取定义密钥的实体类型。 这可能不同于在继承层次结构中定义密钥派生类型时定义的类型 Properties (,因为属性可以在基类型上定义) 。

IdentityMapFactory

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

IsReadOnly

指示当前对象是否为只读。

(继承自 AnnotatableBase)
Item[String]

获取具有给定名称的值批注,如果不存在,则返回 null 该值。

(继承自 AnnotatableBase)
Properties

获取构成密钥的属性。

ReferencingForeignKeys

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

方法

AddAnnotation(String, Annotation)

向此对象添加批注。 如果已存在具有指定名称的批注,则引发 。

(继承自 AnnotatableBase)
AddAnnotation(String, Object)

向此对象添加批注。 如果已存在具有指定名称的批注,则引发 。

(继承自 AnnotatableBase)
AddAnnotations(IEnumerable<IAnnotation>)

向此对象添加批注。

(继承自 AnnotatableBase)
AddAnnotations(IReadOnlyDictionary<String,Object>)

向此对象添加批注。

(继承自 AnnotatableBase)
AddRuntimeAnnotation(String, Annotation)

向此对象添加运行时注释。 如果已存在具有指定名称的批注,则引发 。

(继承自 AnnotatableBase)
AddRuntimeAnnotation(String, Object)

向此对象添加运行时注释。 如果已存在具有指定名称的批注,则引发 。

(继承自 AnnotatableBase)
AddRuntimeAnnotations(IEnumerable<Annotation>)

向此对象添加运行时批注。

(继承自 AnnotatableBase)
AddRuntimeAnnotations(IReadOnlyDictionary<String,Object>)

向此对象添加运行时批注。

(继承自 AnnotatableBase)
CreateAnnotation(String, Object)

创建新批注。

(继承自 AnnotatableBase)
CreateRuntimeAnnotation(String, Object)

创建新的运行时批注。

(继承自 AnnotatableBase)
EnsureMutable()

如果模型为只读,则引发。

(继承自 AnnotatableBase)
EnsureReadOnly()

如果模型不是只读的,则引发 。

(继承自 AnnotatableBase)
FindAnnotation(String)

获取具有给定名称的批注,如果不存在,则返回 null

(继承自 AnnotatableBase)
FindRuntimeAnnotation(String)

获取具有给定名称的运行时注释,如果不存在,则返回 null

(继承自 AnnotatableBase)
GetAnnotation(String)

获取具有给定名称的批注,如果不存在,则引发该批注。

(继承自 AnnotatableBase)
GetAnnotations()

获取当前对象上的所有批注。

(继承自 AnnotatableBase)
GetOrAddRuntimeAnnotationValue<TValue,TArg>(String, Func<TArg,TValue>, TArg)

获取具有给定名称的运行时注释的值,如果不存在,请添加该值。

(继承自 AnnotatableBase)
GetRuntimeAnnotations()

获取当前对象上的所有运行时注释。

(继承自 AnnotatableBase)
OnAnnotationSet(String, Annotation, Annotation)

设置或删除批注时调用。

(继承自 AnnotatableBase)
RemoveAnnotation(String)

从此对象中删除给定的批注。

(继承自 AnnotatableBase)
RemoveRuntimeAnnotation(String)

从此对象中删除给定的运行时注释。

(继承自 AnnotatableBase)
SetAnnotation(String, Annotation, Annotation)

设置存储在给定键下的批注。 如果具有指定名称的注释已存在,则覆盖现有批注。

(继承自 AnnotatableBase)
SetAnnotation(String, Object)

设置存储在给定键下的批注。 如果具有指定名称的注释已存在,则覆盖现有批注。

(继承自 AnnotatableBase)
SetIdentityMapFactory(Func<Boolean,IIdentityMap>)

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

SetPrincipalKeyValueFactory<TKey>(IPrincipalKeyValueFactory<TKey>)

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

SetRuntimeAnnotation(String, Annotation, Annotation)

设置存储在给定键下的运行时注释。 如果具有指定名称的注释已存在,则覆盖现有批注。

(继承自 AnnotatableBase)
SetRuntimeAnnotation(String, Object)

设置存储在给定键下的运行时注释。 如果具有指定名称的注释已存在,则覆盖现有批注。

(继承自 AnnotatableBase)
ToString()

返回表示当前对象的字符串。

显式接口实现

IAnnotatable.AddRuntimeAnnotation(String, Object)

向此对象添加运行时注释。 如果已存在具有指定名称的批注,则引发 。

(继承自 AnnotatableBase)
IAnnotatable.FindRuntimeAnnotation(String)

获取具有给定名称的运行时注释,如果不存在,则返回 null

(继承自 AnnotatableBase)
IAnnotatable.GetRuntimeAnnotations()

获取当前 对象上的所有运行时注释。

(继承自 AnnotatableBase)
IAnnotatable.RemoveRuntimeAnnotation(String)

从此对象中删除给定的运行时注释。

(继承自 AnnotatableBase)
IAnnotatable.SetRuntimeAnnotation(String, Object)

设置存储在给定键下的运行时注释。 如果具有指定名称的注释已存在,则覆盖现有批注。

(继承自 AnnotatableBase)
IKey.DeclaringEntityType

获取定义密钥的实体类型。 这可能不同于在继承层次结构中定义密钥派生类型时定义的类型 Properties (,因为属性可以在基类型上定义) 。

IKey.GetPrincipalKeyValueFactory()

根据从各种形式的实体数据中提取的键值获取键值的工厂。

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

IKey.GetPrincipalKeyValueFactory<TKey>()

根据从各种形式的实体数据中提取的键值获取键值的工厂。

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

IKey.Properties

获取构成密钥的属性。

IReadOnlyAnnotatable.FindAnnotation(String)

获取具有给定名称的批注,如果不存在,则返回 null

(继承自 AnnotatableBase)
IReadOnlyAnnotatable.GetAnnotations()

获取当前对象上的所有批注。

(继承自 AnnotatableBase)
IReadOnlyAnnotatable.Item[String]

获取具有给定名称的批注的值,如果不存在,则返回 null 该值。

(继承自 AnnotatableBase)
IReadOnlyKey.DeclaringEntityType

获取定义密钥的实体类型。 这可能不同于在继承层次结构中定义密钥派生类型时定义的类型 Properties (,因为属性可以在基类型上定义) 。

IReadOnlyKey.GetReferencingForeignKeys()

获取面向给定主键或备用键的所有外键。

IReadOnlyKey.Properties

获取构成密钥的属性。

IRuntimeKey.GetIdentityMapFactory()

表示实体类型上的主键或备用键。

扩展方法

AnnotationsToDebugString(IAnnotatable, Int32)

获取对象上声明的所有注释的调试字符串。

GetKeyType(IKey)

返回简单键的键属性的类型,或复合键的对象数组。

GetPrincipalKeyValueFactory<TKey>(IKey)

根据从各种形式的实体数据中提取的索引键值获取键值的工厂。

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

IsPrimaryKey(IKey)

返回一个值,该值指示键是否为主键。

ToDebugString(IKey, MetadataDebugStringOptions, Int32)

创建给定元数据的可读表示形式。

警告:不要依赖于返回的字符串的格式。 它仅用于调试,可能会在发布之间任意更改。

FindSharedObjectRootKey(IKey, StoreObjectIdentifier)

查找映射到类似共享表的 对象中的同一约束的第 IConventionKey 一个 。

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

FindSharedObjectRootKey(IReadOnlyKey, StoreObjectIdentifier)

查找映射到类似共享表的 对象中的同一约束的第 IKey 一个 。

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

GetDefaultName(IKey)

返回将用于此键的默认键约束名称。

GetDefaultName(IKey, StoreObjectIdentifier)

返回将用于特定表的此键的默认键约束名称。

GetDefaultName(IReadOnlyKey)

返回将用于此键的默认键约束名称。

GetDefaultName(IReadOnlyKey, StoreObjectIdentifier)

返回将用于特定表的此键的默认键约束名称。

GetMappedConstraints(IKey)

获取键映射到的唯一约束。

GetName(IKey)

返回此键的键约束名称。

GetName(IKey, StoreObjectIdentifier)

返回特定表的此键的键约束名称。

GetName(IReadOnlyKey)

返回此键的键约束名称。

GetName(IReadOnlyKey, StoreObjectIdentifier)

返回特定表的此键的键约束名称。

GetFluentApiCalls(IKey, IAnnotationCodeGenerator)

获取用于配置密钥的 fluent API 调用。

IsHandledByConvention(IKey)

获取一个值,该值指示密钥是否按约定进行配置。

IsClustered(IKey)

返回一个值,该值指示密钥是否聚集。

IsClustered(IKey, StoreObjectIdentifier)

返回一个值,该值指示密钥是否聚集。

IsClustered(IReadOnlyKey)

返回一个值,该值指示密钥是否聚集。

IsClustered(IReadOnlyKey, StoreObjectIdentifier)

返回一个值,该值指示密钥是否聚集。

适用于