Condividi tramite


ReferenceOwnershipBuilder Classe

Definizione

Fornisce un'API semplice per la configurazione di una proprietà uno-a-uno.

public class ReferenceOwnershipBuilder : Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceReferenceBuilderBase, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
type ReferenceOwnershipBuilder = class
    inherit ReferenceReferenceBuilderBase
    interface IInfrastructure<InternalEntityTypeBuilder>
Public Class ReferenceOwnershipBuilder
Inherits ReferenceReferenceBuilderBase
Implements IInfrastructure(Of InternalEntityTypeBuilder)
Ereditarietà
ReferenceOwnershipBuilder
Derivato
Implementazioni
IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Costruttori

ReferenceOwnershipBuilder(EntityType, EntityType, InternalRelationshipBuilder)

Questa API supporta l'infrastruttura Entity Framework Core e non deve essere usata direttamente dal codice. Questa API può cambiare o essere rimossa nelle versioni future.

ReferenceOwnershipBuilder(InternalRelationshipBuilder, ReferenceOwnershipBuilder, Boolean, Boolean, Boolean, Boolean)

Questa API supporta l'infrastruttura Entity Framework Core e non deve essere usata direttamente dal codice. Questa API può cambiare o essere rimossa nelle versioni future.

Proprietà

Builder

Ottiene il generatore interno usato per configurare questa relazione.

(Ereditato da ReferenceReferenceBuilderBase)
DeclaringEntityType

Ottiene il primo tipo di entità usato per configurare questa relazione.

(Ereditato da ReferenceReferenceBuilderBase)
Metadata

Chiave esterna che rappresenta questa relazione.

(Ereditato da ReferenceReferenceBuilderBase)
OwnedEntityType

Tipo di entità di proprietà da configurare.

RelatedEntityType

Ottiene il secondo tipo di entità usato per configurare questa relazione.

(Ereditato da ReferenceReferenceBuilderBase)

Metodi

FindRelatedEntityType(String, String)

Questa API supporta l'infrastruttura Entity Framework Core e non deve essere usata direttamente dal codice. Questa API può cambiare o essere rimossa nelle versioni future.

FindRelatedEntityType(Type, String)

Questa API supporta l'infrastruttura Entity Framework Core e non deve essere usata direttamente dal codice. Questa API può cambiare o essere rimossa nelle versioni future.

HasChangeTrackingStrategy(ChangeTrackingStrategy)

Configura l'oggetto ChangeTrackingStrategy da usare per questo tipo di entità. Questa strategia indica come il contesto rileva le modifiche apportate alle proprietà per un'istanza del tipo di entità.

HasData(Object[])

Configura questa entità in modo che disponga di dati di inizializzazione. Viene usato per generare migrazioni di movimento dei dati.

HasEntityTypeAnnotation(String, Object)

Aggiunge o aggiorna un'annotazione nel tipo di entità di proprietà. Se esiste già un'annotazione con la chiave specificata in annotation , verrà aggiornato il relativo valore.

HasForeignKey(String[])

Configura le proprietà da utilizzare come chiave esterna per questa relazione.

Se i nomi di proprietà specificati non esistono nel tipo di entità, verrà aggiunta una nuova proprietà dello stato shadow per fungere da chiave esterna. Una proprietà dello stato shadow è una proprietà che non ha una proprietà corrispondente nella classe di entità. Il valore corrente per la proprietà viene archiviato nell'oggetto ChangeTracker anziché essere archiviato in istanze della classe di entità.

Se HasPrincipalKey(String[]) non viene specificato, verrà effettuato un tentativo di corrispondere al tipo di dati e all'ordine delle proprietà di chiave esterna rispetto alla chiave primaria del tipo di entità principale. Se non corrispondono, le nuove proprietà dello stato shadow che formano un indice univoco verranno aggiunte al tipo di entità principale da usare come chiave di riferimento.

HasForeignKeyAnnotation(String, Object)

Aggiunge o aggiorna un'annotazione sulla chiave esterna. Se esiste già un'annotazione con la chiave specificata in annotation , verrà aggiornato il relativo valore.

HasIndex(String[])

Configura un indice nelle proprietà specificate. Se è presente un indice nel set specificato di proprietà, verrà restituito l'indice esistente per la configurazione.

HasKey(String[])

Imposta le proprietà che costituiscono la chiave primaria per questo tipo di entità di proprietà.

HasMany(String, String)

Configura una relazione in cui questo tipo di entità ha una raccolta che contiene istanze dell'altro tipo nella relazione.

Si noti che la chiamata a questo metodo senza parametri configurerà in modo esplicito questo lato della relazione in modo che non usi alcuna proprietà di navigazione, anche se tale proprietà esiste nel tipo di entità. Se la proprietà di navigazione deve essere utilizzata, è necessario specificarla.

Dopo aver chiamato questo metodo, è necessario concatenare una chiamata a WithOne(String) per configurare completamente la relazione. La chiamata a questo metodo senza la chiamata concatenato non produrrà una relazione valida.

HasMany(Type, String)

Configura una relazione in cui questo tipo di entità ha una raccolta che contiene istanze dell'altro tipo nella relazione.

Si noti che la chiamata a questo metodo senza parametri configurerà in modo esplicito questo lato della relazione in modo che non usi alcuna proprietà di navigazione, anche se tale proprietà esiste nel tipo di entità. Se la proprietà di navigazione deve essere utilizzata, è necessario specificarla.

Dopo aver chiamato questo metodo, è necessario concatenare una chiamata a WithOne(String) per configurare completamente la relazione. La chiamata a questo metodo senza la chiamata concatenato non produrrà una relazione valida.

HasOne(String, String)

Configura una relazione in cui questo tipo di entità ha un riferimento che punta a una singola istanza dell'altro tipo nella relazione.

Si noti che la chiamata a questo metodo senza parametri configurerà in modo esplicito questo lato della relazione in modo che non usi alcuna proprietà di navigazione, anche se tale proprietà esiste nel tipo di entità. Se la proprietà di navigazione deve essere utilizzata, è necessario specificarla.

Dopo aver chiamato questo metodo, è necessario concatenare una chiamata a WithMany(String) o WithOne(String) per configurare completamente la relazione. La chiamata a questo metodo senza la chiamata concatenato non produrrà una relazione valida.

HasOne(Type, String)

Configura una relazione in cui questo tipo di entità ha un riferimento che punta a una singola istanza dell'altro tipo nella relazione.

Si noti che la chiamata a questo metodo senza parametri configurerà in modo esplicito questo lato della relazione in modo che non usi alcuna proprietà di navigazione, anche se tale proprietà esiste nel tipo di entità. Se la proprietà di navigazione deve essere utilizzata, è necessario specificarla.

Dopo aver chiamato questo metodo, è necessario concatenare una chiamata a WithMany(String) o WithOne(String) per configurare completamente la relazione. La chiamata a questo metodo senza la chiamata concatenato non produrrà una relazione valida.

HasPrincipalKey(String[])

Configura le proprietà univoche a cui questa relazione è destinata, ovvero nel tipo di entità proprietario. In genere si chiama questo metodo solo se si desidera utilizzare una o più proprietà diverse dalla chiave primaria come proprietà principal. Se le proprietà specificate non sono già un vincolo univoco (o la chiave primaria), verrà introdotto un nuovo vincolo univoco.

Ignore(String)

Esclude la proprietà specificata dal tipo di entità. Questo metodo viene in genere usato per rimuovere le proprietà dal tipo di entità di proprietà aggiunto per convenzione.

OnDelete(DeleteBehavior)

Configura la modalità di applicazione di un'operazione di eliminazione alle entità dipendenti nella relazione quando l'entità viene eliminata o la relazione viene interrotta.

OwnsMany(String, String)

Configura una relazione in cui l'entità di destinazione è di proprietà (o parte di) di questa entità.

Il tipo di entità di destinazione per ogni relazione di proprietà viene considerato come un tipo di entità diverso anche se lo spostamento è dello stesso tipo. La configurazione del tipo di entità di destinazione non viene applicata al tipo di entità di destinazione di altre relazioni di proprietà.

La maggior parte delle operazioni su un'entità di proprietà richiede l'accesso tramite l'entità proprietario usando la navigazione corrispondente.

OwnsMany(String, String, Action<CollectionOwnershipBuilder>)

Configura una relazione in cui questo tipo di entità fornisce l'identità all'altro tipo nella relazione.

OwnsMany(Type, String)

Configura una relazione in cui l'entità di destinazione è di proprietà (o parte di) di questa entità.

Il tipo di entità di destinazione per ogni relazione di proprietà viene considerato come un tipo di entità diverso anche se lo spostamento è dello stesso tipo. La configurazione del tipo di entità di destinazione non viene applicata al tipo di entità di destinazione di altre relazioni di proprietà.

La maggior parte delle operazioni su un'entità di proprietà richiede l'accesso tramite l'entità proprietario usando la navigazione corrispondente.

OwnsMany(Type, String, Action<CollectionOwnershipBuilder>)

Configura una relazione in cui questo tipo di entità fornisce l'identità all'altro tipo nella relazione.

OwnsOne(String, String)

Configura una relazione in cui l'entità di destinazione è di proprietà (o parte di) di questa entità. Il valore della chiave di entità di destinazione viene sempre propagato dall'entità a cui appartiene.

Il tipo di entità di destinazione per ogni relazione di proprietà viene considerato come un tipo di entità diverso anche se lo spostamento è dello stesso tipo. La configurazione del tipo di entità di destinazione non viene applicata al tipo di entità di destinazione di altre relazioni di proprietà.

La maggior parte delle operazioni su un'entità di proprietà richiede l'accesso tramite l'entità proprietario usando la navigazione corrispondente.

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

Configura una relazione in cui l'entità di destinazione è di proprietà (o parte di) di questa entità. Il valore della chiave di entità di destinazione viene sempre propagato dall'entità a cui appartiene.

Il tipo di entità di destinazione per ogni relazione di proprietà viene considerato come un tipo di entità diverso anche se lo spostamento è dello stesso tipo. La configurazione del tipo di entità di destinazione non viene applicata al tipo di entità di destinazione di altre relazioni di proprietà.

La maggior parte delle operazioni su un'entità di proprietà richiede l'accesso tramite l'entità proprietario usando la navigazione corrispondente.

OwnsOne(Type, String)

Configura una relazione in cui l'entità di destinazione è di proprietà (o parte di) di questa entità. Il valore della chiave di entità di destinazione viene sempre propagato dall'entità a cui appartiene.

Il tipo di entità di destinazione per ogni relazione di proprietà viene considerato come un tipo di entità diverso anche se lo spostamento è dello stesso tipo. La configurazione del tipo di entità di destinazione non viene applicata al tipo di entità di destinazione di altre relazioni di proprietà.

La maggior parte delle operazioni su un'entità di proprietà richiede l'accesso tramite l'entità proprietario usando la navigazione corrispondente.

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

Configura una relazione in cui l'entità di destinazione è di proprietà (o parte di) di questa entità. Il valore della chiave di entità di destinazione viene sempre propagato dall'entità a cui appartiene.

Il tipo di entità di destinazione per ogni relazione di proprietà viene considerato come un tipo di entità diverso anche se lo spostamento è dello stesso tipo. La configurazione del tipo di entità di destinazione non viene applicata al tipo di entità di destinazione di altre relazioni di proprietà.

La maggior parte delle operazioni su un'entità di proprietà richiede l'accesso tramite l'entità proprietario usando la navigazione corrispondente.

Property(String)

Restituisce un oggetto che può essere utilizzato per configurare una proprietà del tipo di entità di proprietà. Se non esiste alcuna proprietà con il nome specificato, verrà aggiunta una nuova proprietà.

Quando si aggiunge una nuova proprietà con questo overload, il nome della proprietà deve corrispondere al nome di una proprietà o di un campo CLR nel tipo di entità. Questo overload non può essere usato per aggiungere una nuova proprietà dello stato shadow.

Property(Type, String)

Restituisce un oggetto che può essere utilizzato per configurare una proprietà del tipo di entità di proprietà. Se non esiste alcuna proprietà con il nome specificato, verrà aggiunta una nuova proprietà.

Quando si aggiunge una nuova proprietà, se esiste una proprietà con lo stesso nome nella classe di entità, verrà aggiunta al modello. Se nella classe di entità non esiste alcuna proprietà, verrà aggiunta una nuova proprietà dello stato shadow. Una proprietà dello stato shadow è una proprietà che non ha una proprietà corrispondente nella classe di entità. Il valore corrente per la proprietà viene archiviato nell'oggetto ChangeTracker anziché essere archiviato in istanze della classe di entità.

Property<TProperty>(String)

Restituisce un oggetto che può essere utilizzato per configurare una proprietà del tipo di entità di proprietà. Se non esiste alcuna proprietà con il nome specificato, verrà aggiunta una nuova proprietà.

Quando si aggiunge una nuova proprietà, se una proprietà con lo stesso nome esiste nella classe di entità, verrà aggiunta al modello. Se non esiste alcuna proprietà nella classe di entità, verrà aggiunta una nuova proprietà dello stato shadow. Una proprietà dello stato shadow è una che non ha una proprietà corrispondente nella classe di entità. Il valore corrente per la proprietà viene archiviato nell'oggetto ChangeTracker anziché archiviato in istanze della classe di entità.

UsePropertyAccessMode(PropertyAccessMode)

Imposta l'oggetto PropertyAccessMode da usare per tutte le proprietà di questo tipo di entità.

Per impostazione predefinita, il campo di backup, se viene trovato per convenzione o specificato, viene usato quando vengono costruiti nuovi oggetti, in genere quando le entità vengono sottoposte a query dal database. Le proprietà vengono usate per tutti gli altri accessi. La chiamata a questo metodo modifica il comportamento per tutte le proprietà di questo tipo di entità, come descritto nell'enumerazione PropertyAccessMode .

La chiamata a questo metodo esegue l'override per tutte le proprietà di questo tipo di entità qualsiasi modalità di accesso impostata sul modello.

Implementazioni dell'interfaccia esplicita

IInfrastructure<IMutableModel>.Instance

Modello a cui appartiene questa relazione.

(Ereditato da ReferenceReferenceBuilderBase)
IInfrastructure<InternalEntityTypeBuilder>.Instance

Ottiene il generatore interno utilizzato per configurare il tipo di entità di proprietà.

IInfrastructure<InternalRelationshipBuilder>.Instance

Ottiene il generatore interno usato per configurare questa relazione.

(Ereditato da ReferenceReferenceBuilderBase)

Metodi di estensione

GetInfrastructure<T>(IInfrastructure<T>)

Ottiene il valore da una proprietà nascosta tramite IInfrastructure<T>.

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

HasConstraintName(ReferenceOwnershipBuilder, String)

Configura il nome del vincolo di chiave esterna per questa relazione quando si punta a un database relazionale.

ToTable(ReferenceOwnershipBuilder, String)

Configura la visualizzazione o la tabella a cui viene eseguito il mapping dell'entità quando si punta a un database relazionale.

ToTable(ReferenceOwnershipBuilder, String, String)

Configura la visualizzazione o la tabella a cui viene eseguito il mapping dell'entità quando si punta a un database relazionale.

ForSqlServerIsMemoryOptimized(ReferenceOwnershipBuilder, Boolean)

Configura la tabella a cui viene eseguito il mapping dell'entità durante la destinazione SQL Server come ottimizzata per la memoria.

Si applica a