Langue

IForeignKey Interface

Définition

Représente une relation où une clé étrangère composée de propriétés sur le type d’entité dépendant fait référence à une clé primaire ou alternative correspondante sur le type d’entité principal.

public interface IForeignKey : Microsoft.EntityFrameworkCore.Infrastructure.IAnnotatable
public interface IForeignKey : Microsoft.EntityFrameworkCore.Infrastructure.IAnnotatable, Microsoft.EntityFrameworkCore.Metadata.IReadOnlyForeignKey
type IForeignKey = interface
    interface IAnnotatable
type IForeignKey = interface
    interface IReadOnlyForeignKey
    interface IReadOnlyAnnotatable
    interface IAnnotatable
Public Interface IForeignKey
Implements IAnnotatable
Public Interface IForeignKey
Implements IAnnotatable, IReadOnlyForeignKey
Dérivé
Implémente

Remarques

Pour plus d’informations et d’exemples, consultez Modélisation des types d’entités et des relations .

Propriétés

Nom Description
DeclaringEntityType

Obtient le type d’entité dépendant. Cela peut être différent du type Properties défini lorsque la relation est définie comme type dérivé dans une hiérarchie d’héritage (dans la mesure où les propriétés peuvent être définies sur un type de base).

DeleteBehavior

Obtient une valeur indiquant comment une opération de suppression est appliquée aux entités dépendantes dans la relation lorsque le principal est supprimé ou que la relation est interrompue.

DependentToPrincipal

Obtient la propriété de navigation sur le type d’entité dépendant qui pointe vers l’entité principale.

IsConstrained

Obtient une valeur indiquant si la relation est contrainte, c’est-à-dire soutenue par une garantie (telle qu’une contrainte de clé étrangère de base de données) qu’une clé principale correspondante existe pour chaque valeur de clé étrangère définie. Quand false, aucune contrainte de clé étrangère de base de données n’est créée et les requêtes traitent la relation comme facultative même lorsque les propriétés de clé étrangère ne sont pas nullables , le principal est chargé avec une jointure gauche et n’est jamais supposé exister. Cela n’affecte pas le suivi des modifications : une relation requise (IsRequired) est toujours en cascade ou produit une valeur null conceptuelle lorsqu’elle est rompue, quelle que soit cette valeur.

(Hérité de IReadOnlyForeignKey)
IsOwnership

Obtient ou définit une valeur indiquant si cette relation définit une propriété. Si true, l’entité dépendante doit toujours être accessible via la navigation à partir de l’entité principale.

IsRequired

Obtient une valeur indiquant si l’entité principale est requise. Si true, l’entité dépendante doit toujours être affectée à une entité de principal valide.

IsRequiredDependent

Obtient une valeur indiquant si l’entité dépendante est requise. Si true, l’entité principale doit toujours avoir une entité dépendante valide affectée.

IsUnique

Obtient une valeur indiquant si les valeurs affectées aux propriétés de clé étrangère sont uniques.

Item[String]

Obtient la valeur de l’annotation portant le nom donné, en retournant null s’il n’existe pas.

(Hérité de IReadOnlyAnnotatable)
PrincipalEntityType

Obtient le type d’entité principal cible par cette relation. Cela peut être différent du type PrincipalKey défini lorsque la relation cible un type dérivé dans une hiérarchie d’héritage (étant donné que la clé est définie sur le type de base de la hiérarchie).

PrincipalKey

Obtient la clé primaire ou alternative cible par la relation.

PrincipalToDependent

Obtient la propriété de navigation sur le type d’entité principal qui pointe vers l’entité dépendante.

Properties

Obtient les propriétés de clé étrangère dans l’entité dépendante.

Méthodes

Nom Description
AddRuntimeAnnotation(String, Object)

Ajoute une annotation runtime à cet objet. Lève si une annotation portant le nom spécifié existe déjà.

(Hérité de IAnnotatable)
AnnotationsToDebugString(Int32)

Obtient la chaîne de débogage pour toutes les annotations déclarées sur l’objet.

(Hérité de IReadOnlyAnnotatable)
FindAnnotation(String)

Obtient l’annotation portant le nom donné, en retournant null s’il n’existe pas.

(Hérité de IReadOnlyAnnotatable)
FindRuntimeAnnotation(String)

Obtient l’annotation runtime avec le nom donné, en retournant null s’il n’existe pas.

(Hérité de IAnnotatable)
FindRuntimeAnnotationValue(String)

Obtient la valeur de l’annotation runtime avec le nom donné, en retournant null s’il n’existe pas.

(Hérité de IAnnotatable)
GetAnnotation(String)

Obtient l’annotation portant le nom donné, levée s’il n’existe pas.

(Hérité de IReadOnlyAnnotatable)
GetAnnotations()

Obtient toutes les annotations sur l’objet actuel.

(Hérité de IReadOnlyAnnotatable)
GetDependentKeyValueFactory()

Crée une fabrique pour les valeurs de clé basées sur les valeurs de clé étrangère provenant de différentes formes de données d’entité.

Cette méthode est généralement utilisée par les fournisseurs de base de données (et d’autres extensions). Il n’est généralement pas utilisé dans le code d’application.

GetDependentKeyValueFactory<TKey>()

Crée une fabrique pour les valeurs de clé basées sur les valeurs de clé étrangère provenant de différentes formes de données d’entité.

Cette méthode est généralement utilisée par les fournisseurs de base de données (et d’autres extensions). Il n’est généralement pas utilisé dans le code d’application.

GetNavigation(Boolean)

Retourne une navigation associée à cette clé étrangère.

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

Obtient la valeur de l’annotation runtime avec le nom donné, en l’ajoutant si elle n’existe pas.

(Hérité de IAnnotatable)
GetReferencingSkipNavigations()

Obtient toutes les navigations ignorer l’utilisation de cette clé étrangère.

GetRelatedEntityType(IReadOnlyEntityType)

Obtient le type d’entité associé à celui donné.

GetRuntimeAnnotations()

Obtient toutes les annotations runtime sur l’objet actuel.

(Hérité de IAnnotatable)
IsBaseLinking()

Retourne une valeur indiquant si la clé étrangère est définie sur la clé primaire et pointant vers la même clé primaire.

(Hérité de IReadOnlyForeignKey)
IsEffectivelyRequired()

Retourne une valeur indiquant si une valeur définie pour cette clé étrangère est garantie de référencer un principal existant, autrement dit, la relation est requise (IsRequired) et contrainte (IsConstrained). La requête consulte ceci pour déterminer si une navigation dépendante à principal peut être développée avec une jointure interne (et si une telle jointure peut être taillée) ; Une relation non contrainte est toujours traitée comme facultative même si ses propriétés de clé étrangère ne sont pas nullables.

(Hérité de IReadOnlyForeignKey)
RemoveRuntimeAnnotation(String)

Supprime l’annotation runtime donnée de cet objet.

(Hérité de IAnnotatable)
SetRuntimeAnnotation(String, Object)

Définit l’annotation runtime stockée sous la clé donnée. Remplace l’annotation existante si une annotation portant le nom spécifié existe déjà.

(Hérité de IAnnotatable)
ToDebugString(MetadataDebugStringOptions, Int32)

Crée une représentation lisible par l’homme des métadonnées données.

Avertissement : Ne vous appuyez pas sur le format de la chaîne retournée. Il est conçu pour le débogage uniquement et peut changer arbitrairement entre les versions.

(Hérité de IReadOnlyForeignKey)

Méthodes d’extension

Nom Description
AnnotationsToDebugString(IAnnotatable, Int32)

Obtient la chaîne de débogage pour toutes les annotations déclarées sur l’objet.

FindSharedObjectRootForeignKey(IForeignKey, StoreObjectIdentifier)

Recherche le premier IForeignKey mappé à la même contrainte dans un objet de type table partagé.

Cette méthode est généralement utilisée par les fournisseurs de base de données (et d’autres extensions). Il n’est généralement pas utilisé dans le code d’application.

FindSharedObjectRootForeignKey(IReadOnlyForeignKey, StoreObjectIdentifier)

Recherche le premier IForeignKey mappé à la même contrainte dans un objet de type table partagé.

Cette méthode est généralement utilisée par les fournisseurs de base de données (et d’autres extensions). Il n’est généralement pas utilisé dans le code d’application.

GetAnnotation(IAnnotatable, String)

Obtient l’annotation portant le nom donné, levée s’il n’existe pas.

GetConstraintName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Retourne le nom de la contrainte de clé étrangère.

GetConstraintName(IForeignKey)

Retourne le nom de la contrainte de clé étrangère.

GetConstraintName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Retourne le nom de la contrainte de clé étrangère.

GetConstraintName(IReadOnlyForeignKey)

Retourne le nom de la contrainte de clé étrangère.

GetDefaultName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Retourne le nom de contrainte par défaut qui serait utilisé pour cette clé étrangère.

GetDefaultName(IForeignKey)

Retourne le nom de contrainte par défaut qui serait utilisé pour cette clé étrangère.

GetDefaultName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Retourne le nom de contrainte par défaut qui serait utilisé pour cette clé étrangère.

GetDefaultName(IReadOnlyForeignKey)

Retourne le nom de contrainte par défaut qui serait utilisé pour cette clé étrangère.

GetDependentKeyValueFactory<TKey>(IForeignKey)

Crée une fabrique pour les valeurs de clé basées sur les valeurs de clé étrangère provenant de différentes formes de données d’entité.

Cette méthode est généralement utilisée par les fournisseurs de base de données (et d’autres extensions). Il n’est généralement pas utilisé dans le code d’application.

GetFluentApiCalls(IForeignKey, IAnnotationCodeGenerator, Boolean)

Obtient les appels d’API Fluent pour configurer une clé étrangère.

GetMappedConstraints(IForeignKey)

Obtient les contraintes de clé étrangère auxquelles la clé étrangère est mappée.

GetNavigation(IForeignKey, Boolean)

Retourne une navigation associée à cette clé étrangère.

GetRelatedEntityType(IForeignKey, IEntityType)

Obtient le type d’entité associé à celui donné.

IsBaseLinking(IForeignKey)

Retourne une valeur indiquant si la clé étrangère est définie sur la clé primaire et pointant vers la même clé primaire.

IsExcludedFromMigrations(IReadOnlyForeignKey)

Retourne une valeur indiquant si la contrainte de clé étrangère est exclue des migrations.

IsRowInternal(IReadOnlyForeignKey, StoreObjectIdentifier)

Retourne une valeur indiquant si cette clé étrangère se trouve entre deux types d’entités partageant le même objet de magasin de type table.

Relational(IForeignKey)

Obtient les métadonnées spécifiques à la base de données relationnelle pour une clé étrangère.

Sqlite(IForeignKey)

Obtient les métadonnées spécifiques SQLite pour une clé étrangère.

SqlServer(IForeignKey)

Obtient la SQL Server métadonnées spécifiques pour une clé étrangère.

ToDebugString(IForeignKey, MetadataDebugStringOptions, Int32)

Crée une représentation lisible par l’homme des métadonnées données.

Avertissement : Ne vous appuyez pas sur le format de la chaîne retournée. Il est conçu pour le débogage uniquement et peut changer arbitrairement entre les versions.

S’applique à