语言

RuntimeForeignKey 类

定义

表示由依赖实体类型属性组成的外键引用主体实体类型的相应主键或备用键的关系。

[System.Runtime.CompilerServices.Nullable(0)]
public class RuntimeForeignKey : Microsoft.EntityFrameworkCore.Infrastructure.RuntimeAnnotatableBase, Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeForeignKey
public class RuntimeForeignKey : Microsoft.EntityFrameworkCore.Infrastructure.AnnotatableBase, Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeForeignKey
[System.Runtime.CompilerServices.Nullable(0)]
public class RuntimeForeignKey : Microsoft.EntityFrameworkCore.Infrastructure.AnnotatableBase, Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeForeignKey
[<System.Runtime.CompilerServices.Nullable(0)>]
type RuntimeForeignKey = class
    inherit RuntimeAnnotatableBase
    interface IRuntimeForeignKey
    interface IForeignKey
    interface IReadOnlyForeignKey
    interface IReadOnlyAnnotatable
    interface IAnnotatable
type RuntimeForeignKey = class
    inherit AnnotatableBase
    interface IRuntimeForeignKey
    interface IForeignKey
    interface IReadOnlyForeignKey
    interface IReadOnlyAnnotatable
    interface IAnnotatable
[<System.Runtime.CompilerServices.Nullable(0)>]
type RuntimeForeignKey = class
    inherit AnnotatableBase
    interface IRuntimeForeignKey
    interface IForeignKey
    interface IReadOnlyForeignKey
    interface IReadOnlyAnnotatable
    interface IAnnotatable
Public Class RuntimeForeignKey
Inherits RuntimeAnnotatableBase
Implements IRuntimeForeignKey
Public Class RuntimeForeignKey
Inherits AnnotatableBase
Implements IRuntimeForeignKey
继承
RuntimeForeignKey
继承
RuntimeForeignKey
特性
实现
IAnnotatable IReadOnlyAnnotatable IForeignKey Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeForeignKey IReadOnlyForeignKey

注解

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

构造函数

名称 说明
RuntimeForeignKey(IReadOnlyList<RuntimeProperty>, RuntimeKey, RuntimeEntityType, RuntimeEntityType, DeleteBehavior, Boolean, Boolean, Boolean, Boolean, Boolean)

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

RuntimeForeignKey(IReadOnlyList<RuntimeProperty>, RuntimeKey, RuntimeEntityType, RuntimeEntityType, DeleteBehavior, Boolean, Boolean, Boolean, Boolean)

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

属性

名称 说明
DebugView

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

DeclaringEntityType

获取依赖实体类型。 这可能与在继承层次结构中定义关系时定义的类型 Properties 不同(因为属性可能在基类型上定义)。

IsReadOnly

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

(继承自 AnnotatableBase)
Item[String]

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

(继承自 RuntimeAnnotatableBase)
Item[String]

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

(继承自 AnnotatableBase)
PrincipalEntityType

获取此关系面向的主体实体类型。 这可能不同于当关系面向继承层次结构中派生类型的类型时定义的类型 PrincipalKey (因为该键是在层次结构的基类型上定义的)。

PrincipalKey

获取关系面向的主键或备用键。

Properties

获取从属实体中的外键属性。

ReferencingSkipNavigations

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

方法

名称 说明
AddAnnotation(String, Annotation)

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

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

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

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

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

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

向此对象添加批注,重写具有相同名称的任何现有批注。

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

向此对象添加批注。

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

向此对象添加批注,重写具有相同名称的任何现有批注。

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

向此对象添加批注。

(继承自 AnnotatableBase)
AddNavigation(RuntimeNavigation, Boolean)

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

AddRuntimeAnnotation(String, Annotation)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

创建新的批注。

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

创建新的批注。

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

创建新的运行时批注。

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

创建新的运行时批注。

(继承自 AnnotatableBase)
EnsureMutable()

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

(继承自 AnnotatableBase)
EnsureReadOnly()

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

(继承自 AnnotatableBase)
FindAnnotation(String)

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

(继承自 RuntimeAnnotatableBase)
FindAnnotation(String)

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

(继承自 AnnotatableBase)
FindRuntimeAnnotation(String)

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

(继承自 RuntimeAnnotatableBase)
FindRuntimeAnnotation(String)

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

(继承自 AnnotatableBase)
GetAnnotation(String)

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

(继承自 RuntimeAnnotatableBase)
GetAnnotation(String)

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

(继承自 AnnotatableBase)
GetAnnotations()

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

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

获取具有给定名称的运行时批注的值,如果不存在,则添加它。

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

获取具有给定名称的运行时批注的值,如果不存在,则添加它。

(继承自 AnnotatableBase)
GetRuntimeAnnotations()

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

(继承自 RuntimeAnnotatableBase)
GetRuntimeAnnotations()

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

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

设置或删除批注时调用。

(继承自 AnnotatableBase)
RemoveAnnotation(String)

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

(继承自 RuntimeAnnotatableBase)
RemoveAnnotation(String)

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

(继承自 AnnotatableBase)
RemoveRuntimeAnnotation(String)

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

(继承自 RuntimeAnnotatableBase)
RemoveRuntimeAnnotation(String)

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

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

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

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

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

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

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

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

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

(继承自 RuntimeAnnotatableBase)
SetRuntimeAnnotation(String, Annotation, Annotation)

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

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

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

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

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

(继承自 AnnotatableBase)
ToString()

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

显式接口实现

名称 说明
IAnnotatable.AddRuntimeAnnotation(String, Object)

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

(继承自 RuntimeAnnotatableBase)
IAnnotatable.AddRuntimeAnnotation(String, Object)

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

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

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

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

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

(继承自 AnnotatableBase)
IAnnotatable.GetRuntimeAnnotations()

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

(继承自 RuntimeAnnotatableBase)
IAnnotatable.GetRuntimeAnnotations()

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

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

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

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

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

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

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

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

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

(继承自 AnnotatableBase)
IForeignKey.DeclaringEntityType

获取依赖实体类型。 这可能与在继承层次结构中定义关系时定义的类型 Properties 不同(因为属性可能在基类型上定义)。

IForeignKey.DependentToPrincipal

获取指向主体实体的依赖实体类型的导航属性。

IForeignKey.GetDependentKeyValueFactory()

基于从各种实体数据形式获取的外键值为键值创建工厂。

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

IForeignKey.GetDependentKeyValueFactory<TKey>()

基于从各种实体数据形式获取的外键值为键值创建工厂。

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

IForeignKey.PrincipalEntityType

获取此关系面向的主体实体类型。 这可能不同于当关系面向继承层次结构中派生类型的类型时定义的类型 PrincipalKey (因为该键是在层次结构的基类型上定义的)。

IForeignKey.PrincipalKey

获取关系面向的主键或备用键。

IForeignKey.PrincipalToDependent

获取指向依赖实体的主体实体类型的导航属性。

IForeignKey.Properties

获取从属实体中的外键属性。

IReadOnlyAnnotatable.FindAnnotation(String)

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

(继承自 RuntimeAnnotatableBase)
IReadOnlyAnnotatable.FindAnnotation(String)

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

(继承自 AnnotatableBase)
IReadOnlyAnnotatable.GetAnnotations()

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

(继承自 RuntimeAnnotatableBase)
IReadOnlyAnnotatable.GetAnnotations()

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

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

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

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

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

(继承自 AnnotatableBase)
IReadOnlyForeignKey.DeclaringEntityType

获取依赖实体类型。 这可能与在继承层次结构中定义关系时定义的类型 Properties 不同(因为属性可能在基类型上定义)。

IReadOnlyForeignKey.DeleteBehavior

获取一个值,该值指示删除操作在删除主体或断开关系时如何应用于关系中的从属实体。

IReadOnlyForeignKey.DependentToPrincipal

获取指向主体实体的依赖实体类型的导航属性。

IReadOnlyForeignKey.GetReferencingSkipNavigations()

使用此外键获取跳过导航。

IReadOnlyForeignKey.IsConstrained

获取一个值,该值指示关系是否受到约束,即由保证(例如数据库外键约束)支持,即每个设置外键值存在匹配的主体键。 如果 false创建数据库外键约束,并且查询将关系视为可选,即使外键属性不可为 null,主体也会加载左联接,并且永远不会假定存在。 这不会影响更改跟踪:必需(IsRequired)关系在被切断时仍会级联或生成概念 null,而不考虑此值。

IReadOnlyForeignKey.IsOwnership

获取一个值,该值指示此关系是否定义所有权。 如果 true,必须始终通过从主体实体的导航访问依赖实体。

IReadOnlyForeignKey.IsRequired

获取一个值,该值指示是否需要主体实体。 如果 true,必须始终将依赖实体分配给有效的主体实体。

IReadOnlyForeignKey.IsRequiredDependent

获取一个值,该值指示是否需要依赖实体。 如果 true,主体实体必须始终分配有效的依赖实体。

IReadOnlyForeignKey.IsUnique

获取一个值,该值指示分配给外键属性的值是否是唯一的。

IReadOnlyForeignKey.PrincipalEntityType

获取此关系面向的主体实体类型。 这可能不同于当关系面向继承层次结构中派生类型的类型时定义的类型 PrincipalKey (因为该键是在层次结构的基类型上定义的)。

IReadOnlyForeignKey.PrincipalKey

获取关系面向的主键或备用键。

IReadOnlyForeignKey.PrincipalToDependent

获取指向依赖实体的主体实体类型的导航属性。

IReadOnlyForeignKey.Properties

获取从属实体中的外键属性。

IRuntimeForeignKey.DependentKeyValueFactory

表示由依赖实体类型属性组成的外键引用主体实体类型的相应主键或备用键的关系。

IRuntimeForeignKey.DependentsMapFactory

表示由依赖实体类型属性组成的外键引用主体实体类型的相应主键或备用键的关系。

扩展方法

名称 说明
AnnotationsToDebugString(IAnnotatable, Int32)

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

FindSharedObjectRootForeignKey(IForeignKey, StoreObjectIdentifier)

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

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

FindSharedObjectRootForeignKey(IReadOnlyForeignKey, StoreObjectIdentifier)

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

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

GetConstraintName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

返回外键约束名称。

GetConstraintName(IForeignKey)

返回外键约束名称。

GetConstraintName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

返回外键约束名称。

GetConstraintName(IReadOnlyForeignKey)

返回外键约束名称。

GetDefaultName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

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

GetDefaultName(IForeignKey)

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

GetDefaultName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

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

GetDefaultName(IReadOnlyForeignKey)

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

GetDependentKeyValueFactory<TKey>(IForeignKey)

基于从各种实体数据形式获取的外键值为键值创建工厂。

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

GetFluentApiCalls(IForeignKey, IAnnotationCodeGenerator, Boolean)

获取用于配置外键的 Fluent API 调用。

GetMappedConstraints(IForeignKey)

获取外键映射到的外键约束。

GetNavigation(IForeignKey, Boolean)

返回与此外键关联的导航。

GetRelatedEntityType(IForeignKey, IEntityType)

获取与给定实体类型相关的实体类型。

IsBaseLinking(IForeignKey)

返回一个值,该值指示外键是否在主键上定义并指向同一主键。

IsExcludedFromMigrations(IReadOnlyForeignKey)

返回一个值,该值指示外键约束是否从迁移中排除。

IsRowInternal(IReadOnlyForeignKey, StoreObjectIdentifier)

返回一个值,该值指示此外键是否位于共享同一表式存储对象的两种实体类型之间。

ToDebugString(IForeignKey, MetadataDebugStringOptions, Int32)

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

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

适用于