Condividi tramite


RuntimeForeignKey Classe

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 class RuntimeForeignKey : Microsoft.EntityFrameworkCore.Infrastructure.AnnotatableBase, Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeForeignKey
type RuntimeForeignKey = class
    inherit AnnotatableBase
    interface IRuntimeForeignKey
    interface IForeignKey
    interface IReadOnlyForeignKey
    interface IReadOnlyAnnotatable
    interface IAnnotatable
Public Class RuntimeForeignKey
Inherits AnnotatableBase
Implements IRuntimeForeignKey
Ereditarietà
RuntimeForeignKey
Implementazioni
IAnnotatable IReadOnlyAnnotatable IForeignKey Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeForeignKey IReadOnlyForeignKey

Commenti

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

Costruttori

RuntimeForeignKey(IReadOnlyList<RuntimeProperty>, RuntimeKey, RuntimeEntityType, RuntimeEntityType, DeleteBehavior, Boolean, Boolean, Boolean, Boolean)

Si tratta di un'API interna che supporta l'infrastruttura Entity Framework Core e non è soggetta agli stessi standard di compatibilità delle API pubbliche. Può essere modificato o rimosso senza preavviso in alcuna versione. È consigliabile usarlo direttamente nel codice con estrema cautela e sapere che questa operazione può causare errori dell'applicazione durante l'aggiornamento a una nuova versione di Entity Framework Core.

Proprietà

DebugView

Si tratta di un'API interna che supporta l'infrastruttura Entity Framework Core e non è soggetta agli stessi standard di compatibilità delle API pubbliche. Può essere modificato o rimosso senza preavviso in alcuna versione. È consigliabile usarlo direttamente nel codice con estrema cautela e sapere che questa operazione può causare errori dell'applicazione durante l'aggiornamento a una nuova versione di Entity Framework Core.

DeclaringEntityType

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

IsReadOnly

Indica se l'oggetto corrente è di sola lettura.

(Ereditato da AnnotatableBase)
Item[String]

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

(Ereditato da AnnotatableBase)
PrincipalEntityType

Ottiene il tipo di entità principale destinato a questa relazione. Questo può essere diverso dal tipo PrincipalKey definito in 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 destinata alla relazione.

Properties

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

ReferencingSkipNavigations

Si tratta di un'API interna che supporta l'infrastruttura Entity Framework Core e non è soggetta agli stessi standard di compatibilità delle API pubbliche. Può essere modificato o rimosso senza preavviso in nessuna versione. È consigliabile usarlo direttamente nel codice con attenzione estrema e sapere che ciò può causare errori dell'applicazione durante l'aggiornamento a una nuova versione di Entity Framework Core.

Metodi

AddAnnotation(String, Annotation)

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

(Ereditato da AnnotatableBase)
AddAnnotation(String, Object)

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

(Ereditato da AnnotatableBase)
AddAnnotations(IEnumerable<IAnnotation>)

Aggiunge annotazioni a questo oggetto.

(Ereditato da AnnotatableBase)
AddAnnotations(IReadOnlyDictionary<String,Object>)

Aggiunge annotazioni a questo oggetto.

(Ereditato da AnnotatableBase)
AddNavigation(RuntimeNavigation, Boolean)

Si tratta di un'API interna che supporta l'infrastruttura Entity Framework Core e non è soggetta agli stessi standard di compatibilità delle API pubbliche. Può essere modificato o rimosso senza preavviso in alcuna versione. È consigliabile usarlo direttamente nel codice con estrema cautela e sapere che questa operazione può causare errori dell'applicazione durante l'aggiornamento a una nuova versione di Entity Framework Core.

AddRuntimeAnnotation(String, Annotation)

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

(Ereditato da AnnotatableBase)
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 AnnotatableBase)
AddRuntimeAnnotations(IEnumerable<Annotation>)

Aggiunge annotazioni di runtime a questo oggetto.

(Ereditato da AnnotatableBase)
AddRuntimeAnnotations(IReadOnlyDictionary<String,Object>)

Aggiunge annotazioni di runtime a questo oggetto.

(Ereditato da AnnotatableBase)
CreateAnnotation(String, Object)

Crea una nuova annotazione.

(Ereditato da AnnotatableBase)
CreateRuntimeAnnotation(String, Object)

Crea una nuova annotazione di runtime.

(Ereditato da AnnotatableBase)
EnsureMutable()

Genera un'eccezione se il modello è di sola lettura.

(Ereditato da AnnotatableBase)
EnsureReadOnly()

Genera un'eccezione se il modello non è di sola lettura.

(Ereditato da AnnotatableBase)
FindAnnotation(String)

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

(Ereditato da AnnotatableBase)
FindRuntimeAnnotation(String)

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

(Ereditato da AnnotatableBase)
GetAnnotation(String)

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

(Ereditato da AnnotatableBase)
GetAnnotations()

Ottiene tutte le annotazioni sull'oggetto corrente.

(Ereditato da AnnotatableBase)
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 AnnotatableBase)
GetRuntimeAnnotations()

Ottiene tutte le annotazioni di runtime sull'oggetto corrente.

(Ereditato da AnnotatableBase)
OnAnnotationSet(String, Annotation, Annotation)

Chiamato quando è stata impostata o rimossa un'annotazione.

(Ereditato da AnnotatableBase)
RemoveAnnotation(String)

Rimuove l'annotazione specificata da questo oggetto.

(Ereditato da AnnotatableBase)
RemoveRuntimeAnnotation(String)

Rimuove l'annotazione di runtime specificata da questo oggetto.

(Ereditato da AnnotatableBase)
SetAnnotation(String, Annotation, Annotation)

Imposta l'annotazione archiviata sotto la chiave specificata. Sovrascrive l'annotazione esistente se esiste già un'annotazione con il nome specificato.

(Ereditato da AnnotatableBase)
SetAnnotation(String, Object)

Imposta l'annotazione archiviata sotto la chiave specificata. Sovrascrive l'annotazione esistente se esiste già un'annotazione con il nome specificato.

(Ereditato da AnnotatableBase)
SetRuntimeAnnotation(String, Annotation, Annotation)

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

(Ereditato da AnnotatableBase)
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 AnnotatableBase)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

Implementazioni dell'interfaccia esplicita

IAnnotatable.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 AnnotatableBase)
IAnnotatable.FindRuntimeAnnotation(String)

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

(Ereditato da AnnotatableBase)
IAnnotatable.GetRuntimeAnnotations()

Ottiene tutte le annotazioni di runtime sull'oggetto corrente.

(Ereditato da AnnotatableBase)
IAnnotatable.RemoveRuntimeAnnotation(String)

Rimuove l'annotazione di runtime specificata da questo oggetto.

(Ereditato da AnnotatableBase)
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 AnnotatableBase)
IForeignKey.DeclaringEntityType

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

IForeignKey.DependentToPrincipal

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

IForeignKey.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 da altre estensioni). In genere non viene usato nel codice dell'applicazione.

IForeignKey.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 da altre estensioni). In genere non viene usato nel codice dell'applicazione.

IForeignKey.PrincipalEntityType

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

IForeignKey.PrincipalKey

Ottiene la chiave primaria o alternativa a cui è destinata la relazione.

IForeignKey.PrincipalToDependent

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

IForeignKey.Properties

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

IReadOnlyAnnotatable.FindAnnotation(String)

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

(Ereditato da AnnotatableBase)
IReadOnlyAnnotatable.GetAnnotations()

Ottiene tutte le annotazioni sull'oggetto corrente.

(Ereditato da AnnotatableBase)
IReadOnlyAnnotatable.Item[String]

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

(Ereditato da AnnotatableBase)
IReadOnlyForeignKey.DeclaringEntityType

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

IReadOnlyForeignKey.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.

IReadOnlyForeignKey.DependentToPrincipal

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

IReadOnlyForeignKey.GetReferencingSkipNavigations()

Ottiene gli spostamenti skip utilizzando questa chiave esterna.

IReadOnlyForeignKey.IsOwnership

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

IReadOnlyForeignKey.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.

IReadOnlyForeignKey.IsRequiredDependent

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

IReadOnlyForeignKey.IsUnique

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

IReadOnlyForeignKey.PrincipalEntityType

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

IReadOnlyForeignKey.PrincipalKey

Ottiene la chiave primaria o alternativa a cui è destinata la relazione.

IReadOnlyForeignKey.PrincipalToDependent

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

IReadOnlyForeignKey.Properties

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

IRuntimeForeignKey.DependentKeyValueFactory

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.

IRuntimeForeignKey.DependentsMapFactory

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.

Metodi di estensione

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 da altre estensioni). In genere non viene usato nel codice dell'applicazione.

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.

ToDebugString(IForeignKey, MetadataDebugStringOptions, Int32)

Crea una rappresentazione leggibile dei metadati specificati.

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

AnnotationsToDebugString(IAnnotatable, Int32)

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

FindSharedObjectRootForeignKey(IForeignKey, StoreObjectIdentifier)

Trova il primo IConventionForeignKey mappato allo stesso vincolo in un oggetto simile a una tabella condivisa.

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 mappato allo stesso vincolo in un oggetto simile a una tabella condivisa.

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

GetConstraintName(IForeignKey)

Restituisce il nome del vincolo chiave esterna.

GetConstraintName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Restituisce il nome del vincolo chiave esterna.

GetConstraintName(IReadOnlyForeignKey)

Restituisce il nome del vincolo chiave esterna.

GetConstraintName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Restituisce il nome del vincolo chiave esterna.

GetDefaultName(IForeignKey)

Restituisce il nome del vincolo predefinito che verrà usato per questa chiave esterna.

GetDefaultName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Restituisce il nome del vincolo predefinito che verrà usato per questa chiave esterna.

GetDefaultName(IReadOnlyForeignKey)

Restituisce il nome del vincolo predefinito che verrà usato per questa chiave esterna.

GetDefaultName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

Restituisce il nome del vincolo predefinito che verrà usato per questa chiave esterna.

GetMappedConstraints(IForeignKey)

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

IsRowInternal(IReadOnlyForeignKey, StoreObjectIdentifier)

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

GetFluentApiCalls(IForeignKey, IAnnotationCodeGenerator, Boolean)

Ottiene le chiamate api fluenti per configurare una chiave esterna.

Si applica a