Share via


IConventionForeignKey 接口

定义

表示一种关系,其中依赖实体类型中的外键属性 () 引用主体实体类型中相应的主键或备用键。

public interface IConventionForeignKey : Microsoft.EntityFrameworkCore.Metadata.IConventionAnnotatable, Microsoft.EntityFrameworkCore.Metadata.IForeignKey
public interface IConventionForeignKey : Microsoft.EntityFrameworkCore.Metadata.IConventionAnnotatable, Microsoft.EntityFrameworkCore.Metadata.IReadOnlyForeignKey
type IConventionForeignKey = interface
    interface IForeignKey
    interface IAnnotatable
    interface IConventionAnnotatable
type IConventionForeignKey = interface
    interface IReadOnlyForeignKey
    interface IReadOnlyAnnotatable
    interface IConventionAnnotatable
Public Interface IConventionForeignKey
Implements IConventionAnnotatable, IForeignKey
Public Interface IConventionForeignKey
Implements IConventionAnnotatable, IReadOnlyForeignKey
实现

注解

此接口在模型创建期间使用,并允许修改元数据。 生成模型后, IForeignKey 表示相同元数据的只读视图。

有关详细信息和示例,请参阅 模型生成约定

属性

Builder

获取可用于配置此外键的生成器。

DeclaringEntityType

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

DeleteBehavior

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

(继承自 IReadOnlyForeignKey)
DependentToPrincipal

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

IsInModel

指示此对象是否位于模型中,即尚未从模型中删除。

(继承自 IConventionAnnotatable)
IsOwnership

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

(继承自 IReadOnlyForeignKey)
IsRequired

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

(继承自 IReadOnlyForeignKey)
IsRequiredDependent

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

(继承自 IReadOnlyForeignKey)
IsUnique

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

(继承自 IReadOnlyForeignKey)
Item[String]

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

(继承自 IReadOnlyAnnotatable)
PrincipalEntityType

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

PrincipalKey

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

PrincipalToDependent

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

Properties

获取依赖实体中的外键属性。

方法

AddAnnotation(String, Object, Boolean)

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

(继承自 IConventionAnnotatable)
AddAnnotations(IEnumerable<IConventionAnnotation>, Boolean)

向 对象添加批注。

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

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

(继承自 IAnnotatable)
AnnotationsToDebugString(Int32)

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

(继承自 IReadOnlyAnnotatable)
FindAnnotation(String)

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

(继承自 IReadOnlyAnnotatable)
FindRuntimeAnnotation(String)

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

(继承自 IAnnotatable)
FindRuntimeAnnotationValue(String)

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

(继承自 IAnnotatable)
GetAnnotation(String)

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

(继承自 IReadOnlyAnnotatable)
GetAnnotations()

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

(继承自 IReadOnlyAnnotatable)
GetConfigurationSource()

返回此属性的配置源。

GetDeleteBehaviorConfigurationSource()

返回 的配置 DeleteBehavior源。

GetDependentKeyValueFactory()

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

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

(继承自 IForeignKey)
GetDependentKeyValueFactory<TKey>()

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

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

(继承自 IForeignKey)
GetDependentToPrincipalConfigurationSource()

返回 的配置 DependentToPrincipal源。

GetIsOwnershipConfigurationSource()

返回 的配置 IsOwnership源。

GetIsRequiredConfigurationSource()

返回 的配置 IsRequired源。

GetIsRequiredDependentConfigurationSource()

返回 的配置 IsRequiredDependent源。

GetIsUniqueConfigurationSource()

返回 的配置 IsUnique源。

GetNavigation(Boolean)

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

GetOrAddRuntimeAnnotationValue<TValue,TArg>(String, Func<TArg,TValue>, TArg)

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

(继承自 IAnnotatable)
GetPrincipalEndConfigurationSource()

返回 的配置 PrincipalEntityType源。

GetPrincipalKeyConfigurationSource()

返回 的配置 PrincipalKey源。

GetPrincipalToDependentConfigurationSource()

返回 的配置 PrincipalToDependent源。

GetPropertiesConfigurationSource()

返回 的配置 Properties源。

GetReferencingSkipNavigations()

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

GetRelatedEntityType(IReadOnlyEntityType)

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

GetRuntimeAnnotations()

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

(继承自 IAnnotatable)
HasDependentToPrincipal(MemberInfo, Boolean)
已过时。.

设置指向主体实体的依赖实体类型的导航属性。

HasDependentToPrincipal(String, Boolean)
已过时。.

设置指向主体实体的依赖实体类型的导航属性。

HasPrincipalToDependent(MemberInfo, Boolean)
已过时。.

设置指向依赖实体的主体实体类型的导航属性。

HasPrincipalToDependent(String, Boolean)
已过时。.

设置指向依赖实体的主体实体类型的导航属性。

IsBaseLinking()

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

(继承自 IReadOnlyForeignKey)
RemoveAnnotation(String)

从此对象中删除具有给定名称的批注。

(继承自 IConventionAnnotatable)
RemoveRuntimeAnnotation(String)

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

(继承自 IAnnotatable)
SetAnnotation(String, Object, Boolean)

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

(继承自 IConventionAnnotatable)
SetDeleteBehavior(Nullable<DeleteBehavior>, Boolean)

设置一个值,该值指示在删除主体或断开关系时如何将删除操作应用于关系中的依赖实体。

SetDependentToPrincipal(MemberInfo, Boolean)

设置指向主体实体的依赖实体类型的导航属性。

SetDependentToPrincipal(String, Boolean)

设置指向主体实体的依赖实体类型的导航属性。

SetIsOwnership(Nullable<Boolean>, Boolean)

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

SetIsRequired(Nullable<Boolean>, Boolean)

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

SetIsRequiredDependent(Nullable<Boolean>, Boolean)

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

SetIsUnique(Nullable<Boolean>, Boolean)

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

SetOrRemoveAnnotation(String, Object, Boolean)

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

(继承自 IConventionAnnotatable)
SetPrincipalToDependent(MemberInfo, Boolean)

设置指向依赖实体的主体实体类型的导航属性。

SetPrincipalToDependent(String, Boolean)

设置指向依赖实体的主体实体类型的导航属性。

SetProperties(IReadOnlyList<IConventionProperty>, IConventionKey, Boolean)

设置外键属性和该目标主体键。

SetRuntimeAnnotation(String, Object)

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

(继承自 IAnnotatable)
ToDebugString(MetadataDebugStringOptions, Int32)

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

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

(继承自 IReadOnlyForeignKey)

扩展方法

AddAnnotations(IConventionAnnotatable, IEnumerable<IConventionAnnotation>, Boolean)

向 对象添加批注。

GetAnnotation(IConventionAnnotatable, String)

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

SetOrRemoveAnnotation(IConventionAnnotatable, String, Object, Boolean)

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

GetNavigation(IConventionForeignKey, Boolean)

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

GetRelatedEntityType(IConventionForeignKey, IConventionEntityType)

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

GetDependentKeyValueFactory<TKey>(IForeignKey)

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

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

GetNavigation(IForeignKey, Boolean)

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

GetRelatedEntityType(IForeignKey, IEntityType)

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

IsBaseLinking(IForeignKey)

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

ToDebugString(IForeignKey, MetadataDebugStringOptions, Int32)

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

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

AnnotationsToDebugString(IAnnotatable, Int32)

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

GetAnnotation(IAnnotatable, String)

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

FindSharedObjectRootForeignKey(IConventionForeignKey, StoreObjectIdentifier)

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

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

FindSharedObjectRootForeignKey(IForeignKey, StoreObjectIdentifier)

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

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

FindSharedObjectRootForeignKey(IReadOnlyForeignKey, StoreObjectIdentifier)

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

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

GetConstraintName(IForeignKey)

返回外键约束名称。

GetConstraintName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

返回外键约束名称。

GetConstraintName(IReadOnlyForeignKey)

返回外键约束名称。

GetConstraintName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

返回外键约束名称。

GetConstraintNameConfigurationSource(IConventionForeignKey)

ConfigurationSource获取约束名称的 。

GetDefaultName(IForeignKey)

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

GetDefaultName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

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

GetDefaultName(IReadOnlyForeignKey)

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

GetDefaultName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

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

GetMappedConstraints(IForeignKey)

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

IsRowInternal(IReadOnlyForeignKey, StoreObjectIdentifier)

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

SetConstraintName(IConventionForeignKey, String, Boolean)

设置外键约束名称。

适用于