Lingua

IForeignKey Interfaccia

Definizione

Rappresenta una relazione in cui una chiave esterna composta da proprietà sul tipo di entità dipendente fa riferimento a una chiave primaria o alternativa corrispondente nel tipo di entità principale.

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
Derivato
Implementazioni

Commenti

Per altre informazioni ed esempi, vedere Modellazione di tipi di entità e relazioni .

Proprietà

Nome Descrizione
DeclaringEntityType

Ottiene il tipo di entità dipendente. Questo può essere diverso dal tipo Properties definito quando la relazione è definita in un tipo derivato in una gerarchia di ereditarietà , poiché le proprietà possono essere definite in un tipo di base.

DeleteBehavior

Ottiene un valore che indica come viene applicata un'operazione di eliminazione alle entità dipendenti nella relazione quando l'entità viene eliminata o la relazione viene interrotta.

DependentToPrincipal

Ottiene la proprietà di navigazione sul tipo di entità dipendente che punta all'entità principale.

IsConstrained

Ottiene un valore che indica se la relazione è vincolata, supportata da una garanzia ,ad esempio un vincolo di chiave esterna del database, che esiste una chiave principale corrispondente per ogni valore di chiave esterna impostata. Quando false, non viene creato alcun vincolo di chiave esterna del database e le query considerano la relazione come facoltativa anche quando le proprietà della chiave esterna non sono nullable. L'entità viene caricata con un left join e non viene mai considerata esistente. Ciò non influisce sul rilevamento delle modifiche: una relazione obbligatoria (IsRequired) continua a catena o produce un valore Null concettuale quando viene interrotto, indipendentemente da questo valore.

(Ereditato da IReadOnlyForeignKey)
IsOwnership

Ottiene o imposta un valore che indica se questa relazione definisce una proprietà. Se true, l'entità dipendente deve sempre essere accessibile tramite la navigazione dall'entità principale.

IsRequired

Ottiene un valore che indica se l'entità principale è obbligatoria. Se true, l'entità dipendente deve essere sempre assegnata a un'entità principale valida.

IsRequiredDependent

Ottiene un valore che indica se l'entità dipendente è obbligatoria. Se true, all'entità principale deve sempre essere assegnata un'entità dipendente valida.

IsUnique

Ottiene un valore che indica se i valori assegnati alle proprietà della chiave esterna sono univoci.

Item[String]

Ottiene il valore dell'annotazione con il nome specificato, restituendo null se non esiste.

(Ereditato da IReadOnlyAnnotatable)
PrincipalEntityType

Ottiene il tipo di entità principale di destinazione di questa relazione. Questo può essere diverso dal tipo PrincipalKey definito quando la relazione è destinata a un tipo derivato in una gerarchia di ereditarietà , poiché la chiave è definita sul tipo di base della gerarchia.

PrincipalKey

Ottiene la chiave primaria o alternativa di destinazione della relazione.

PrincipalToDependent

Ottiene la proprietà di navigazione sul tipo di entità principale che punta all'entità dipendente.

Properties

Ottiene le proprietà della chiave esterna nell'entità dipendente.

Metodi

Nome Descrizione
AddRuntimeAnnotation(String, Object)

Aggiunge un'annotazione di runtime a questo oggetto. Genera un'eccezione se esiste già un'annotazione con il nome specificato.

(Ereditato da IAnnotatable)
AnnotationsToDebugString(Int32)

Ottiene la stringa di debug per tutte le annotazioni dichiarate nell'oggetto .

(Ereditato da IReadOnlyAnnotatable)
FindAnnotation(String)

Ottiene l'annotazione con il nome specificato, restituendo null se non esiste.

(Ereditato da IReadOnlyAnnotatable)
FindRuntimeAnnotation(String)

Ottiene l'annotazione di runtime con il nome specificato, restituendo null se non esiste.

(Ereditato da IAnnotatable)
FindRuntimeAnnotationValue(String)

Ottiene il valore dell'annotazione di runtime con il nome specificato, restituendo null se non esiste.

(Ereditato da IAnnotatable)
GetAnnotation(String)

Ottiene l'annotazione con il nome specificato, generando se non esiste.

(Ereditato da IReadOnlyAnnotatable)
GetAnnotations()

Ottiene tutte le annotazioni sull'oggetto corrente.

(Ereditato da IReadOnlyAnnotatable)
GetDependentKeyValueFactory()

Crea una factory per i valori delle chiavi in base ai valori di chiave esterna acquisiti da varie forme di dati di entità.

Questo metodo viene in genere usato dai provider di database (e altre estensioni). In genere non viene usato nel codice dell'applicazione.

GetDependentKeyValueFactory<TKey>()

Crea una factory per i valori delle chiavi in base ai valori di chiave esterna acquisiti da varie forme di dati di entità.

Questo metodo viene in genere usato dai provider di database (e altre estensioni). In genere non viene usato nel codice dell'applicazione.

GetNavigation(Boolean)

Restituisce una struttura di spostamento associata a questa chiave esterna.

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

Ottiene il valore dell'annotazione di runtime con il nome specificato, aggiungendolo se non esiste.

(Ereditato da IAnnotatable)
GetReferencingSkipNavigations()

Ottiene tutti gli spostamenti ignorati utilizzando questa chiave esterna.

GetRelatedEntityType(IReadOnlyEntityType)

Ottiene il tipo di entità correlato a quello specificato.

GetRuntimeAnnotations()

Ottiene tutte le annotazioni di runtime sull'oggetto corrente.

(Ereditato da IAnnotatable)
IsBaseLinking()

Restituisce un valore che indica se la chiave esterna è definita nella chiave primaria e punta alla stessa chiave primaria.

(Ereditato da IReadOnlyForeignKey)
IsEffectivelyRequired()

Restituisce un valore che indica se è garantito che un valore impostato per questa chiave esterna faccia riferimento a un'entità esistente, ovvero la relazione è obbligatoria (IsRequired) e vincolata (IsConstrained). La query consulta questa opzione per decidere se una navigazione dipendente-a-entità può essere espansa con un inner join (e se tale join può essere risolto); una relazione non vincolata viene sempre considerata come facoltativa anche quando le relative proprietà di chiave esterna non sono nullable.

(Ereditato da IReadOnlyForeignKey)
RemoveRuntimeAnnotation(String)

Rimuove l'annotazione di runtime specificata da questo oggetto.

(Ereditato da IAnnotatable)
SetRuntimeAnnotation(String, Object)

Imposta l'annotazione di runtime archiviata nella chiave specificata. Sovrascrive l'annotazione esistente se esiste già un'annotazione con il nome specificato.

(Ereditato da IAnnotatable)
ToDebugString(MetadataDebugStringOptions, Int32)

Crea una rappresentazione leggibile dei metadati specificati.

Avviso: non basarsi sul formato della stringa restituita. È progettato solo per il debug e può cambiare arbitrariamente tra le versioni.

(Ereditato da IReadOnlyForeignKey)

Metodi di estensione

Nome Descrizione
AnnotationsToDebugString(IAnnotatable, Int32)

Ottiene la stringa di debug per tutte le annotazioni dichiarate nell'oggetto .

FindSharedObjectRootForeignKey(IForeignKey, StoreObjectIdentifier)

Trova il primo IForeignKey oggetto mappato allo stesso vincolo in un oggetto di tipo tabella condiviso.

Questo metodo viene in genere usato dai provider di database (e altre estensioni). In genere non viene usato nel codice dell'applicazione.

FindSharedObjectRootForeignKey(IReadOnlyForeignKey, StoreObjectIdentifier)

Trova il primo IForeignKey oggetto mappato allo stesso vincolo in un oggetto di tipo tabella condiviso.

Questo metodo viene in genere usato dai provider di database (e altre estensioni). In genere non viene usato nel codice dell'applicazione.

GetAnnotation(IAnnotatable, String)

Ottiene l'annotazione con il nome specificato, generando se non esiste.

GetConstraintName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Restituisce il nome del vincolo di chiave esterna.

GetConstraintName(IForeignKey)

Restituisce il nome del vincolo di chiave esterna.

GetConstraintName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Restituisce il nome del vincolo di chiave esterna.

GetConstraintName(IReadOnlyForeignKey)

Restituisce il nome del vincolo di chiave esterna.

GetDefaultName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Restituisce il nome del vincolo predefinito che verrebbe utilizzato per questa chiave esterna.

GetDefaultName(IForeignKey)

Restituisce il nome del vincolo predefinito che verrebbe utilizzato per questa chiave esterna.

GetDefaultName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Restituisce il nome del vincolo predefinito che verrebbe utilizzato per questa chiave esterna.

GetDefaultName(IReadOnlyForeignKey)

Restituisce il nome del vincolo predefinito che verrebbe utilizzato per questa chiave esterna.

GetDependentKeyValueFactory<TKey>(IForeignKey)

Crea una factory per i valori delle chiavi in base ai valori di chiave esterna acquisiti da varie forme di dati di entità.

Questo metodo viene in genere usato dai provider di database (e altre estensioni). In genere non viene usato nel codice dell'applicazione.

GetFluentApiCalls(IForeignKey, IAnnotationCodeGenerator, Boolean)

Ottiene le chiamate API Fluent per configurare una chiave esterna.

GetMappedConstraints(IForeignKey)

Ottiene i vincoli di chiave esterna a cui viene eseguito il mapping della chiave esterna.

GetNavigation(IForeignKey, Boolean)

Restituisce una struttura di spostamento associata a questa chiave esterna.

GetRelatedEntityType(IForeignKey, IEntityType)

Ottiene il tipo di entità correlato a quello specificato.

IsBaseLinking(IForeignKey)

Restituisce un valore che indica se la chiave esterna è definita nella chiave primaria e punta alla stessa chiave primaria.

IsExcludedFromMigrations(IReadOnlyForeignKey)

Restituisce un valore che indica se il vincolo di chiave esterna è escluso dalle migrazioni.

IsRowInternal(IReadOnlyForeignKey, StoreObjectIdentifier)

Restituisce un valore che indica se questa chiave esterna è tra due tipi di entità che condividono lo stesso oggetto archivio di tipo tabella.

Relational(IForeignKey)

Ottiene i metadati specifici del database relazionale per una chiave esterna.

Sqlite(IForeignKey)

Ottiene i metadati specifici di SQLite per una chiave esterna.

SqlServer(IForeignKey)

Ottiene il SQL Server metadati specifici per una chiave esterna.

ToDebugString(IForeignKey, MetadataDebugStringOptions, Int32)

Crea una rappresentazione leggibile dei metadati specificati.

Avviso: non basarsi sul formato della stringa restituita. È progettato solo per il debug e può cambiare arbitrariamente tra le versioni.

Si applica a