Condividi tramite


CollectionOwnershipBuilder Classe

Definizione

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

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

Costruttori

CollectionOwnershipBuilder(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.

CollectionOwnershipBuilder(InternalRelationshipBuilder, CollectionOwnershipBuilder, 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

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.

(Ereditato da ReferenceCollectionBuilderBase)
DependentEntityType

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

(Ereditato da ReferenceCollectionBuilderBase)
Metadata

Chiave esterna che rappresenta questa relazione.

(Ereditato da ReferenceCollectionBuilderBase)
OwnedEntityType

Tipo di entità di proprietà configurato.

PrincipalEntityType

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

(Ereditato da ReferenceCollectionBuilderBase)

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 alle proprietà per un'istanza del tipo di entità.

HasData(Object[])

Configura questa entità per avere i 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 , il relativo valore verrà aggiornato.

HasForeignKey(String[])

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

Se i nomi delle proprietà specificati non esistono nel tipo di entità, verrà aggiunto un nuovo stato shadow per servire come chiave esterna. 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à.

Se HasPrincipalKey(String[]) non viene specificato, verrà eseguito un tentativo di corrispondere al tipo di dati e all'ordine delle proprietà della chiave esterna rispetto alla chiave primaria del tipo di entità principale. Se non corrispondono, verranno aggiunte nuove proprietà dello stato shadow che formano un indice univoco 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 , il relativo valore verrà aggiornato.

HasIndex(String[])

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

HasKey(String[])

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

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 configura in modo esplicito questo lato della relazione per non usare alcuna proprietà di navigazione, anche se tale proprietà esiste nel tipo di entità. Se la proprietà di spostamento deve essere usata, deve essere specificata.

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 concatenata 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 configura in modo esplicito questo lato della relazione per non usare alcuna proprietà di navigazione, anche se tale proprietà esiste nel tipo di entità. Se la proprietà di spostamento deve essere usata, deve essere specificata.

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 concatenata non produrrà una relazione valida.

HasPrincipalKey(String[])

Configura le proprietà univoche di destinazione di questa relazione. In genere si chiamerebbe questo metodo solo se si desidera usare una proprietà diversa dalla chiave primaria come proprietà principale. 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 dalla 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à di (o parte 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 in un'entità di proprietà richiede l'accesso tramite l'entità proprietario usando lo spostamento 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à di (o parte 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 in un'entità di proprietà richiede l'accesso tramite l'entità proprietario usando lo spostamento 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à di (o parte 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 in un'entità di proprietà richiede l'accesso tramite l'entità proprietario usando lo spostamento corrispondente.

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

Configura una relazione in cui l'entità di destinazione è di proprietà di (o parte 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 in un'entità di proprietà richiede l'accesso tramite l'entità proprietario usando lo spostamento corrispondente.

OwnsOne(Type, String)

Configura una relazione in cui l'entità di destinazione è di proprietà di (o parte 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 in un'entità di proprietà richiede l'accesso tramite l'entità proprietario usando lo spostamento corrispondente.

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

Configura una relazione in cui l'entità di destinazione è di proprietà di (o parte 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 in un'entità di proprietà richiede l'accesso tramite l'entità proprietario usando lo spostamento corrispondente.

Property(String)

Restituisce un oggetto che può essere usato 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à CLR o di un campo 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 usato 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à.

Property<TProperty>(String)

Restituisce un oggetto che può essere usato 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 ReferenceCollectionBuilderBase)
IInfrastructure<InternalEntityTypeBuilder>.Instance

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

IInfrastructure<InternalRelationshipBuilder>.Instance

Ottiene il generatore interno usato per configurare questa relazione.

(Ereditato da ReferenceCollectionBuilderBase)

Metodi di estensione

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasConstraintName(CollectionOwnershipBuilder, String)

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

ToTable(CollectionOwnershipBuilder, String)

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

ToTable(CollectionOwnershipBuilder, String, String)

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

ForSqlServerIsMemoryOptimized(CollectionOwnershipBuilder, 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