Sprache

IForeignKey Schnittstelle

Definition

Stellt eine Beziehung dar, bei der ein Fremdschlüssel, der aus Eigenschaften des abhängigen Entitätstyps besteht, auf einen entsprechenden Primär- oder Alternativschlüssel für den Prinzipalentitätstyp verweist.

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
Abgeleitet
Implementiert

Hinweise

Weitere Informationen und Beispiele finden Sie unter Modellieren von Entitätstypen und Beziehungen .

Eigenschaften

Name Beschreibung
DeclaringEntityType

Ruft den abhängigen Entitätstyp ab. Dies kann sich vom Typ unterscheiden, Properties der definiert wird, wenn die Beziehung einen abgeleiteten Typ in einer Vererbungshierarchie definiert hat (da die Eigenschaften möglicherweise für einen Basistyp definiert werden).

DeleteBehavior

Ruft einen Wert ab, der angibt, wie ein Löschvorgang auf abhängige Entitäten in der Beziehung angewendet wird, wenn der Prinzipal gelöscht oder die Beziehung getrennt wird.

DependentToPrincipal

Ruft die Navigationseigenschaft für den abhängigen Entitätstyp ab, der auf die Prinzipalentität verweist.

IsConstrained

Ruft einen Wert ab, der angibt, ob die Beziehung eingeschränkt ist, d. h. durch eine Garantie (z. B. eine Einschränkung des Fremdschlüssels der Datenbank), dass für jeden festgelegten Fremdschlüsselwert ein übereinstimmender Prinzipalschlüssel vorhanden ist. Wenn falsekeine Fremdschlüsseleinschränkung für Datenbanken erstellt wird und Abfragen die Beziehung auch dann als optional behandeln, wenn die Fremdschlüsseleigenschaften nicht nullfähig sind – der Prinzipal wird mit einer linken Verknüpfung geladen und wird nie angenommen, dass sie vorhanden ist. Dies wirkt sich nicht auf die Änderungsnachverfolgung aus: Eine erforderliche (IsRequired) Beziehung wird immer noch kaskadiert oder erzeugt einen konzeptionellen Nullwert, unabhängig von diesem Wert.

(Geerbt von IReadOnlyForeignKey)
IsOwnership

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob diese Beziehung einen Besitz definiert. Wenn truedie abhängige Entität immer über die Navigation über die Prinzipalentität zugegriffen werden muss.

IsRequired

Ruft einen Wert ab, der angibt, ob die Prinzipalentität erforderlich ist. Wenn truedie abhängige Entität immer einer gültigen Prinzipalentität zugewiesen werden muss.

IsRequiredDependent

Ruft einen Wert ab, der angibt, ob die abhängige Entität erforderlich ist. Wenn truedie Prinzipalentität immer eine gültige abhängige Entität zugewiesen sein muss.

IsUnique

Ruft einen Wert ab, der angibt, ob die Werte, die den Fremdschlüsseleigenschaften zugewiesen sind, eindeutig sind.

Item[String]

Ruft den Wert der Anmerkung mit dem angegebenen Namen ab, die zurückgegeben wird null , wenn sie nicht vorhanden ist.

(Geerbt von IReadOnlyAnnotatable)
PrincipalEntityType

Ruft den Prinzipalentitätstyp ab, auf den diese Beziehung ausgerichtet ist. Dies kann vom Typ abweichen, PrincipalKey der definiert wird, wenn die Beziehung auf einen abgeleiteten Typ in einer Vererbungshierarchie ausgerichtet ist (da der Schlüssel für den Basistyp der Hierarchie definiert ist).

PrincipalKey

Ruft den primären oder alternativen Schlüssel ab, auf den die Beziehung abzielt.

PrincipalToDependent

Ruft die Navigationseigenschaft für den Prinzipalentitätstyp ab, der auf die abhängige Entität verweist.

Properties

Ruft die Fremdschlüsseleigenschaften in der abhängigen Entität ab.

Methoden

Name Beschreibung
AddRuntimeAnnotation(String, Object)

Fügt diesem Objekt eine Laufzeitanmerkung hinzu. Löst aus, wenn bereits eine Anmerkung mit dem angegebenen Namen vorhanden ist.

(Geerbt von IAnnotatable)
AnnotationsToDebugString(Int32)

Ruft die Debugzeichenfolge für alle Anmerkungen ab, die für das Objekt deklariert sind.

(Geerbt von IReadOnlyAnnotatable)
FindAnnotation(String)

Ruft die Anmerkung mit dem angegebenen Namen ab, die zurückgegeben wird null , wenn sie nicht vorhanden ist.

(Geerbt von IReadOnlyAnnotatable)
FindRuntimeAnnotation(String)

Ruft die Laufzeitanmerkung mit dem angegebenen Namen ab, die zurückgegeben wird null , wenn sie nicht vorhanden ist.

(Geerbt von IAnnotatable)
FindRuntimeAnnotationValue(String)

Ruft den Wert der Laufzeitanmerkung mit dem angegebenen Namen ab, der zurückgegeben wird null , wenn sie nicht vorhanden ist.

(Geerbt von IAnnotatable)
GetAnnotation(String)

Ruft die Anmerkung mit dem angegebenen Namen ab, die ausgelöst wird, wenn sie nicht vorhanden ist.

(Geerbt von IReadOnlyAnnotatable)
GetAnnotations()

Ruft alle Anmerkungen für das aktuelle Objekt ab.

(Geerbt von IReadOnlyAnnotatable)
GetDependentKeyValueFactory()

Erstellt eine Factory für Schlüsselwerte, die auf den Fremdschlüsselwerten basieren, die aus verschiedenen Formen von Entitätsdaten stammen.

Diese Methode wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

GetDependentKeyValueFactory<TKey>()

Erstellt eine Factory für Schlüsselwerte, die auf den Fremdschlüsselwerten basieren, die aus verschiedenen Formen von Entitätsdaten stammen.

Diese Methode wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

GetNavigation(Boolean)

Gibt eine Navigation zurück, die diesem Fremdschlüssel zugeordnet ist.

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

Ruft den Wert der Laufzeitanmerkung mit dem angegebenen Namen ab, und fügt ihn hinzu, wenn keine vorhanden ist.

(Geerbt von IAnnotatable)
GetReferencingSkipNavigations()

Ruft alle Navigationen mit diesem Fremdschlüssel ab.

GetRelatedEntityType(IReadOnlyEntityType)

Ruft den Entitätstyp ab, der mit dem angegebenen Entitätstyp verknüpft ist.

GetRuntimeAnnotations()

Ruft alle Laufzeitanmerkungen für das aktuelle Objekt ab.

(Geerbt von IAnnotatable)
IsBaseLinking()

Gibt einen Wert zurück, der angibt, ob der Fremdschlüssel für den Primärschlüssel definiert ist und auf denselben Primärschlüssel zeigt.

(Geerbt von IReadOnlyForeignKey)
IsEffectivelyRequired()

Gibt einen Wert zurück, der angibt, ob ein festgelegter Wert für diesen Fremdschlüssel garantiert auf einen vorhandenen Prinzipal verweist, d. a. die Beziehung ist sowohl erforderlich (IsRequired) als auch eingeschränkt (IsConstrained). Abfrage konsultiert dies, um zu entscheiden, ob eine abhängige zu Prinzipalnavigation mit einer inneren Verknüpfung erweitert werden kann (und ob eine solche Verknüpfung gekürzt werden kann); Eine nicht eingeschränkte Beziehung wird immer als optional behandelt, auch wenn die Fremdschlüsseleigenschaften nicht nullfähig sind.

(Geerbt von IReadOnlyForeignKey)
RemoveRuntimeAnnotation(String)

Entfernt die angegebene Laufzeitanmerkung aus diesem Objekt.

(Geerbt von IAnnotatable)
SetRuntimeAnnotation(String, Object)

Legt die unter dem angegebenen Schlüssel gespeicherte Laufzeitanmerkung fest. Überschreibt die vorhandene Anmerkung, wenn bereits eine Anmerkung mit dem angegebenen Namen vorhanden ist.

(Geerbt von IAnnotatable)
ToDebugString(MetadataDebugStringOptions, Int32)

Erstellt eine lesbare Darstellung der angegebenen Metadaten.

Warnung: Verlassen Sie sich nicht auf das Format der zurückgegebenen Zeichenfolge. Sie wurde nur für das Debuggen entwickelt und kann sich willkürlich zwischen Versionen ändern.

(Geerbt von IReadOnlyForeignKey)

Erweiterungsmethoden

Name Beschreibung
AnnotationsToDebugString(IAnnotatable, Int32)

Ruft die Debugzeichenfolge für alle Anmerkungen ab, die für das Objekt deklariert sind.

FindSharedObjectRootForeignKey(IForeignKey, StoreObjectIdentifier)

Sucht den ersten IForeignKey , der derselben Einschränkung in einem freigegebenen tabellenähnlichen Objekt zugeordnet ist.

Diese Methode wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

FindSharedObjectRootForeignKey(IReadOnlyForeignKey, StoreObjectIdentifier)

Sucht den ersten IForeignKey , der derselben Einschränkung in einem freigegebenen tabellenähnlichen Objekt zugeordnet ist.

Diese Methode wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

GetAnnotation(IAnnotatable, String)

Ruft die Anmerkung mit dem angegebenen Namen ab, die ausgelöst wird, wenn sie nicht vorhanden ist.

GetConstraintName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Gibt den Namen der Fremdschlüsseleinschränkung zurück.

GetConstraintName(IForeignKey)

Gibt den Namen der Fremdschlüsseleinschränkung zurück.

GetConstraintName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Gibt den Namen der Fremdschlüsseleinschränkung zurück.

GetConstraintName(IReadOnlyForeignKey)

Gibt den Namen der Fremdschlüsseleinschränkung zurück.

GetDefaultName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Gibt den Standardeinschränkungsnamen zurück, der für diesen Fremdschlüssel verwendet werden würde.

GetDefaultName(IForeignKey)

Gibt den Standardeinschränkungsnamen zurück, der für diesen Fremdschlüssel verwendet werden würde.

GetDefaultName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Gibt den Standardeinschränkungsnamen zurück, der für diesen Fremdschlüssel verwendet werden würde.

GetDefaultName(IReadOnlyForeignKey)

Gibt den Standardeinschränkungsnamen zurück, der für diesen Fremdschlüssel verwendet werden würde.

GetDependentKeyValueFactory<TKey>(IForeignKey)

Erstellt eine Factory für Schlüsselwerte, die auf den Fremdschlüsselwerten basieren, die aus verschiedenen Formen von Entitätsdaten stammen.

Diese Methode wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

GetFluentApiCalls(IForeignKey, IAnnotationCodeGenerator, Boolean)

Ruft die Fluent-API-Aufrufe zum Konfigurieren eines Fremdschlüssels ab.

GetMappedConstraints(IForeignKey)

Ruft die Fremdschlüsseleinschränkungen ab, denen der Fremdschlüssel zugeordnet ist.

GetNavigation(IForeignKey, Boolean)

Gibt eine Navigation zurück, die diesem Fremdschlüssel zugeordnet ist.

GetRelatedEntityType(IForeignKey, IEntityType)

Ruft den Entitätstyp ab, der mit dem angegebenen Entitätstyp verknüpft ist.

IsBaseLinking(IForeignKey)

Gibt einen Wert zurück, der angibt, ob der Fremdschlüssel für den Primärschlüssel definiert ist und auf denselben Primärschlüssel zeigt.

IsExcludedFromMigrations(IReadOnlyForeignKey)

Gibt einen Wert zurück, der angibt, ob die Fremdschlüsseleinschränkung von Migrationen ausgeschlossen ist.

IsRowInternal(IReadOnlyForeignKey, StoreObjectIdentifier)

Gibt einen Wert zurück, der angibt, ob dieser Fremdschlüssel zwischen zwei Entitätstypen besteht, die dasselbe tabellenähnliche Speicherobjekt verwenden.

Relational(IForeignKey)

Ruft die relationalen Datenbankspezifischen Metadaten für einen Fremdschlüssel ab.

Sqlite(IForeignKey)

Ruft die SQLite-spezifischen Metadaten für einen Fremdschlüssel ab.

SqlServer(IForeignKey)

Ruft die SQL Server spezifischen Metadaten für einen Fremdschlüssel ab.

ToDebugString(IForeignKey, MetadataDebugStringOptions, Int32)

Erstellt eine lesbare Darstellung der angegebenen Metadaten.

Warnung: Verlassen Sie sich nicht auf das Format der zurückgegebenen Zeichenfolge. Sie wurde nur für das Debuggen entwickelt und kann sich willkürlich zwischen Versionen ändern.

Gilt für: