Jazyk

IForeignKey Rozhraní

Definice

Představuje relaci, ve které cizí klíč složený z vlastností závislého typu entity odkazuje na odpovídající primární nebo alternativní klíč typu hlavní entity.

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
Odvozené
Implementuje

Poznámky

Další informace a příklady najdete v tématu Modelování typů entit a relací .

Vlastnosti

Název Description
DeclaringEntityType

Získá závislý typ entity. Může se lišit od typu definovaného Properties při definování vztahu odvozeného typu v hierarchii dědičnosti (protože vlastnosti mohou být definovány na základě základního typu).

DeleteBehavior

Získá hodnotu označující způsob použití operace odstranění na závislé entity v relaci při odstranění objektu zabezpečení nebo relace je přerušena.

DependentToPrincipal

Získá navigační vlastnost závislého typu entity, která odkazuje na hlavní entitu.

IsConstrained

Získá hodnotu určující, zda je relace omezena, tj. zajištěna zárukou (například omezením cizího klíče databáze), že pro každou nastavenou hodnotu cizího klíče existuje odpovídající hlavní klíč. Pokud falsese nevytvoří žádné omezení cizího klíče databáze a dotazy považují relaci za nepovinnou i v případě, že vlastnosti cizího klíče nejsou nullable – objekt zabezpečení se načte levým spojením a nikdy se nepředpokládá, že existuje. To nemá vliv na sledování změn: požadovaná (IsRequired) relace stále kaskáduje nebo vytváří konceptuální hodnotu null při zrušení, bez ohledu na tuto hodnotu.

(Zděděno od IReadOnlyForeignKey)
IsOwnership

Získá nebo nastaví hodnotu určující, zda tato relace definuje vlastnictví. Pokud true, závislá entita musí být vždy přístupná prostřednictvím navigace z hlavní entity.

IsRequired

Získá hodnotu určující, zda je požadována hlavní entita. Pokud true, závislá entita musí být vždy přiřazena platné hlavní entitě.

IsRequiredDependent

Získá hodnotu určující, zda je závislá entita povinná. Pokud truemusí mít hlavní entita vždy přiřazenou platnou závislá entitu.

IsUnique

Získá hodnotu určující, zda hodnoty přiřazené k vlastnosti cizího klíče jsou jedinečné.

Item[String]

Získá hodnotu poznámky s daným názvem, který null vrátí, pokud neexistuje.

(Zděděno od IReadOnlyAnnotatable)
PrincipalEntityType

Získá typ entity objektu zabezpečení, který tento vztah cílí. Může se lišit od typu definovaného v případě, že PrincipalKey relace cílí na odvozený typ v hierarchii dědičnosti (protože klíč je definován na základním typu hierarchie).

PrincipalKey

Získá primární nebo alternativní klíč, který cílí relace.

PrincipalToDependent

Získá navigační vlastnost typu hlavní entity, která odkazuje na závislou entitu.

Properties

Získá vlastnosti cizího klíče v závislé entitě.

Metody

Název Description
AddRuntimeAnnotation(String, Object)

Přidá k tomuto objektu poznámku za běhu. Vyvolá chybu, pokud již existuje poznámka se zadaným názvem.

(Zděděno od IAnnotatable)
AnnotationsToDebugString(Int32)

Získá ladicí řetězec pro všechny poznámky deklarované v objektu.

(Zděděno od IReadOnlyAnnotatable)
FindAnnotation(String)

Získá poznámku s daným názvem a vrátí null , pokud neexistuje.

(Zděděno od IReadOnlyAnnotatable)
FindRuntimeAnnotation(String)

Získá poznámku modulu runtime s daným názvem, která null se vrátí, pokud neexistuje.

(Zděděno od IAnnotatable)
FindRuntimeAnnotationValue(String)

Získá hodnotu poznámky modulu runtime s daným názvem, který null vrátí, pokud neexistuje.

(Zděděno od IAnnotatable)
GetAnnotation(String)

Získá anotace s daným názvem vyvolá, pokud neexistuje.

(Zděděno od IReadOnlyAnnotatable)
GetAnnotations()

Získá všechny poznámky k aktuálnímu objektu.

(Zděděno od IReadOnlyAnnotatable)
GetDependentKeyValueFactory()

Vytvoří továrnu pro hodnoty klíčů na základě hodnot cizího klíče převzatých z různých forem dat entity.

Tuto metodu obvykle používají poskytovatelé databáze (a další rozšíření). Obvykle se nepoužívá v kódu aplikace.

GetDependentKeyValueFactory<TKey>()

Vytvoří továrnu pro hodnoty klíčů na základě hodnot cizího klíče převzatých z různých forem dat entity.

Tuto metodu obvykle používají poskytovatelé databáze (a další rozšíření). Obvykle se nepoužívá v kódu aplikace.

GetNavigation(Boolean)

Vrátí navigaci přidruženou k tomuto cizímu klíči.

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

Získá hodnotu poznámky modulu runtime s daným názvem a přidá ji, pokud neexistuje.

(Zděděno od IAnnotatable)
GetReferencingSkipNavigations()

Získá všechny přeskočení navigace pomocí tohoto cizího klíče.

GetRelatedEntityType(IReadOnlyEntityType)

Získá typ entity související s danou entitou.

GetRuntimeAnnotations()

Získá všechny poznámky modulu runtime pro aktuální objekt.

(Zděděno od IAnnotatable)
IsBaseLinking()

Vrátí hodnotu určující, zda je cizí klíč definován v primárním klíči a odkazuje na stejný primární klíč.

(Zděděno od IReadOnlyForeignKey)
IsEffectivelyRequired()

Vrátí hodnotu určující, zda je zaručeno, že nastavená hodnota pro tento cizí klíč odkazuje na existující objekt zabezpečení – to znamená, že relace je povinná (IsRequired) i omezená (IsConstrained). Dotaz se na to obraťte, abyste se rozhodli, zda je možné rozšířit navigaci závislého na objektu zabezpečení s vnitřním spojením (a zda je možné takové spojení vyříznout); Nekontrénovaný vztah je vždy považován za volitelný i v případě, že vlastnosti cizího klíče nejsou nullable.

(Zděděno od IReadOnlyForeignKey)
RemoveRuntimeAnnotation(String)

Odebere danou poznámku modulu runtime z tohoto objektu.

(Zděděno od IAnnotatable)
SetRuntimeAnnotation(String, Object)

Nastaví poznámku modulu runtime uloženou pod daným klíčem. Přepíše existující poznámku, pokud již existuje anotace se zadaným názvem.

(Zděděno od IAnnotatable)
ToDebugString(MetadataDebugStringOptions, Int32)

Vytvoří čitelné znázornění daných metadat člověkem.

Upozornění: Nespoléhejte na formát vráceného řetězce. Je určen pouze pro ladění a může se libovolně měnit mezi verzemi.

(Zděděno od IReadOnlyForeignKey)

Metody rozšíření

Název Description
AnnotationsToDebugString(IAnnotatable, Int32)

Získá ladicí řetězec pro všechny poznámky deklarované v objektu.

FindSharedObjectRootForeignKey(IForeignKey, StoreObjectIdentifier)

Najde první IForeignKey , který je namapován na stejné omezení ve sdíleném objektu podobné tabulce.

Tuto metodu obvykle používají poskytovatelé databáze (a další rozšíření). Obvykle se nepoužívá v kódu aplikace.

FindSharedObjectRootForeignKey(IReadOnlyForeignKey, StoreObjectIdentifier)

Najde první IForeignKey , který je namapován na stejné omezení ve sdíleném objektu podobné tabulce.

Tuto metodu obvykle používají poskytovatelé databáze (a další rozšíření). Obvykle se nepoužívá v kódu aplikace.

GetAnnotation(IAnnotatable, String)

Získá anotace s daným názvem vyvolá, pokud neexistuje.

GetConstraintName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Vrátí název omezení cizího klíče.

GetConstraintName(IForeignKey)

Vrátí název omezení cizího klíče.

GetConstraintName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Vrátí název omezení cizího klíče.

GetConstraintName(IReadOnlyForeignKey)

Vrátí název omezení cizího klíče.

GetDefaultName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Vrátí výchozí název omezení, který se použije pro tento cizí klíč.

GetDefaultName(IForeignKey)

Vrátí výchozí název omezení, který se použije pro tento cizí klíč.

GetDefaultName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Vrátí výchozí název omezení, který se použije pro tento cizí klíč.

GetDefaultName(IReadOnlyForeignKey)

Vrátí výchozí název omezení, který se použije pro tento cizí klíč.

GetDependentKeyValueFactory<TKey>(IForeignKey)

Vytvoří továrnu pro hodnoty klíčů na základě hodnot cizího klíče převzatých z různých forem dat entity.

Tuto metodu obvykle používají poskytovatelé databáze (a další rozšíření). Obvykle se nepoužívá v kódu aplikace.

GetFluentApiCalls(IForeignKey, IAnnotationCodeGenerator, Boolean)

Získá fluent rozhraní API volání pro konfiguraci cizího klíče.

GetMappedConstraints(IForeignKey)

Získá omezení cizího klíče, na které je cizí klíč mapován.

GetNavigation(IForeignKey, Boolean)

Vrátí navigaci přidruženou k tomuto cizímu klíči.

GetRelatedEntityType(IForeignKey, IEntityType)

Získá typ entity související s danou entitou.

IsBaseLinking(IForeignKey)

Vrátí hodnotu určující, zda je cizí klíč definován v primárním klíči a odkazuje na stejný primární klíč.

IsExcludedFromMigrations(IReadOnlyForeignKey)

Vrátí hodnotu určující, zda je omezení cizího klíče vyloučeno z migrací.

IsRowInternal(IReadOnlyForeignKey, StoreObjectIdentifier)

Vrátí hodnotu určující, jestli je tento cizí klíč mezi dvěma typy entit sdílejících stejný objekt úložiště podobné tabulce.

Relational(IForeignKey)

Získá relační databáze specifická metadata pro cizí klíč.

Sqlite(IForeignKey)

Získá specifická metadata SQLite pro cizí klíč.

SqlServer(IForeignKey)

Získá SQL Server konkrétní metadata pro cizí klíč.

ToDebugString(IForeignKey, MetadataDebugStringOptions, Int32)

Vytvoří čitelné znázornění daných metadat člověkem.

Upozornění: Nespoléhejte na formát vráceného řetězce. Je určen pouze pro ladění a může se libovolně měnit mezi verzemi.

Platí pro