Sprache

CollectionOwnershipBuilder Klasse

Definition

Stellt eine einfache API zum Konfigurieren eines 1:n-Besitzes bereit.

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)
Vererbung
CollectionOwnershipBuilder
Abgeleitet
Implementiert
IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Konstruktoren

Name Beschreibung
CollectionOwnershipBuilder(EntityType, EntityType, InternalRelationshipBuilder)

Diese API unterstützt die Entity Framework Core-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. Diese API kann in zukünftigen Versionen geändert oder entfernt werden.

CollectionOwnershipBuilder(InternalRelationshipBuilder, CollectionOwnershipBuilder, Boolean, Boolean, Boolean)

Diese API unterstützt die Entity Framework Core-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. Diese API kann in zukünftigen Versionen geändert oder entfernt werden.

Eigenschaften

Name Beschreibung
Builder

Diese API unterstützt die Entity Framework Core-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. Diese API kann in zukünftigen Versionen geändert oder entfernt werden.

(Geerbt von ReferenceCollectionBuilderBase)
DependentEntityType

Ruft den abhängigen Entitätstyp ab, der zum Konfigurieren dieser Beziehung verwendet wird.

(Geerbt von ReferenceCollectionBuilderBase)
Metadata

Der Fremdschlüssel, der diese Beziehung darstellt.

(Geerbt von ReferenceCollectionBuilderBase)
OwnedEntityType

Der besitzereigene Entitätstyp, der konfiguriert wird.

PrincipalEntityType

Ruft den Prinzipalentitätstyp ab, der zum Konfigurieren dieser Beziehung verwendet wird.

(Geerbt von ReferenceCollectionBuilderBase)

Methoden

Name Beschreibung
FindRelatedEntityType(String, String)

Diese API unterstützt die Entity Framework Core-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. Diese API kann in zukünftigen Versionen geändert oder entfernt werden.

FindRelatedEntityType(Type, String)

Diese API unterstützt die Entity Framework Core-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. Diese API kann in zukünftigen Versionen geändert oder entfernt werden.

HasChangeTrackingStrategy(ChangeTrackingStrategy)

Konfiguriert die ChangeTrackingStrategy für diesen Entitätstyp zu verwendende Entität. Diese Strategie gibt an, wie der Kontext Änderungen an Eigenschaften für eine Instanz des Entitätstyps erkennt.

HasData(Object[])

Konfiguriert diese Entität so, dass seed-Daten vorhanden sind. Es wird verwendet, um Datenbewegungsmigrationen zu generieren.

HasEntityTypeAnnotation(String, Object)

Fügt eine Anmerkung für den eigenen Entitätstyp hinzu oder aktualisiert sie. Wenn eine Anmerkung mit dem angegebenen annotation Schlüssel bereits vorhanden ist, wird der Wert aktualisiert.

HasForeignKey(String[])

Konfiguriert die Eigenschaft(en), die als Fremdschlüssel für diese Beziehung verwendet werden soll.

Wenn der angegebene Eigenschaftsname(n) für den Entitätstyp nicht vorhanden ist, wird eine neue Schattenzustandseigenschaft(n) hinzugefügt, die als Fremdschlüssel dient. Eine Schattenzustandseigenschaft ist eine Eigenschaft, die nicht über eine entsprechende Eigenschaft in der Entitätsklasse verfügt. Der aktuelle Wert für die Eigenschaft wird in den ChangeTracker Instanzen der Entitätsklasse gespeichert und nicht in Instanzen der Entitätsklasse gespeichert.

Wenn HasPrincipalKey(String[]) nicht angegeben, wird versucht, den Datentyp und die Reihenfolge der Fremdschlüsseleigenschaften mit dem Primärschlüssel des Prinzipalentitätstyps abzugleichen. Wenn sie nicht übereinstimmen, werden neue Schattenzustandseigenschaften, die einen eindeutigen Index bilden, dem Prinzipalentitätstyp hinzugefügt, der als Referenzschlüssel dienen soll.

HasForeignKeyAnnotation(String, Object)

Fügt eine Anmerkung für den Fremdschlüssel hinzu oder aktualisiert sie. Wenn eine Anmerkung mit dem angegebenen annotation Schlüssel bereits vorhanden ist, wird der Wert aktualisiert.

HasIndex(String[])

Konfiguriert einen Index für die angegebenen Eigenschaften. Wenn für den angegebenen Eigenschaftensatz ein Index vorhanden ist, wird der vorhandene Index für die Konfiguration zurückgegeben.

HasKey(String[])

Legt die Eigenschaften fest, aus denen der Primärschlüssel für diesen eigenen Entitätstyp besteht.

HasOne(String, String)

Konfiguriert eine Beziehung, bei der dieser Entitätstyp über einen Verweis verfügt, der auf eine einzelne Instanz des anderen Typs in der Beziehung verweist.

Beachten Sie, dass das Aufrufen dieser Methode ohne Parameter diese Seite der Beziehung explizit so konfiguriert, dass keine Navigationseigenschaft verwendet wird, auch wenn eine solche Eigenschaft für den Entitätstyp vorhanden ist. Wenn die Navigationseigenschaft verwendet werden soll, muss sie angegeben werden.

Nach dem Aufrufen dieser Methode sollten Sie einen Aufruf an WithMany(String) oder WithOne(String) eine vollständige Konfiguration der Beziehung verketten. Wenn Sie nur diese Methode ohne den verketteten Aufruf aufrufen, wird keine gültige Beziehung erzeugt.

HasOne(Type, String)

Konfiguriert eine Beziehung, bei der dieser Entitätstyp über einen Verweis verfügt, der auf eine einzelne Instanz des anderen Typs in der Beziehung verweist.

Beachten Sie, dass das Aufrufen dieser Methode ohne Parameter diese Seite der Beziehung explizit so konfiguriert, dass keine Navigationseigenschaft verwendet wird, auch wenn eine solche Eigenschaft für den Entitätstyp vorhanden ist. Wenn die Navigationseigenschaft verwendet werden soll, muss sie angegeben werden.

Nach dem Aufrufen dieser Methode sollten Sie einen Aufruf an WithMany(String) oder WithOne(String) eine vollständige Konfiguration der Beziehung verketten. Wenn Sie nur diese Methode ohne den verketteten Aufruf aufrufen, wird keine gültige Beziehung erzeugt.

HasPrincipalKey(String[])

Konfiguriert die eindeutigen Eigenschaften, auf die diese Beziehung ausgerichtet ist. In der Regel würden Sie diese Methode nur aufrufen, wenn Sie eine andere Eigenschaft als den Primärschlüssel als die Prinzipaleigenschaft(n) verwenden möchten. Wenn die angegebene Eigenschaft(n) noch keine eindeutige Einschränkung (oder der Primärschlüssel) ist, wird eine neue eindeutige Einschränkung eingeführt.

Ignore(String)

Schließt die angegebene Eigenschaft vom Entitätstyp aus. Diese Methode wird in der Regel verwendet, um Eigenschaften aus dem eigenen Entitätstyp zu entfernen, der gemäß der Konvention hinzugefügt wurde.

OnDelete(DeleteBehavior)

Konfiguriert, wie ein Löschvorgang auf abhängige Entitäten in der Beziehung angewendet wird, wenn der Prinzipal gelöscht oder die Beziehung getrennt wird.

OwnsMany(String, String, Action<CollectionOwnershipBuilder>)

Konfiguriert eine Beziehung, in der dieser Entitätstyp Identitäten für den anderen Typ in der Beziehung bereitstellt.

OwnsMany(String, String)

Konfiguriert eine Beziehung, in der die Zielentität im Besitz (oder Teil davon) dieser Entität ist.

Der Zielentitätstyp für jede Besitzerbeziehung wird auch dann als anderer Entitätstyp behandelt, wenn die Navigation denselben Typ aufweist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzerbeziehungen angewendet.

Die meisten Vorgänge in einer eigenen Entität erfordern den Zugriff über die Besitzerentität mithilfe der entsprechenden Navigation.

OwnsMany(Type, String, Action<CollectionOwnershipBuilder>)

Konfiguriert eine Beziehung, in der dieser Entitätstyp Identitäten für den anderen Typ in der Beziehung bereitstellt.

OwnsMany(Type, String)

Konfiguriert eine Beziehung, in der die Zielentität im Besitz (oder Teil davon) dieser Entität ist.

Der Zielentitätstyp für jede Besitzerbeziehung wird auch dann als anderer Entitätstyp behandelt, wenn die Navigation denselben Typ aufweist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzerbeziehungen angewendet.

Die meisten Vorgänge in einer eigenen Entität erfordern den Zugriff über die Besitzerentität mithilfe der entsprechenden Navigation.

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

Konfiguriert eine Beziehung, in der die Zielentität im Besitz (oder Teil davon) dieser Entität ist. Der Wert des Zielentitätsschlüssels wird immer von der Entität weitergegeben, zu der er gehört.

Der Zielentitätstyp für jede Besitzerbeziehung wird auch dann als anderer Entitätstyp behandelt, wenn die Navigation denselben Typ aufweist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzerbeziehungen angewendet.

Die meisten Vorgänge in einer eigenen Entität erfordern den Zugriff über die Besitzerentität mithilfe der entsprechenden Navigation.

OwnsOne(String, String)

Konfiguriert eine Beziehung, in der die Zielentität im Besitz (oder Teil davon) dieser Entität ist. Der Wert des Zielentitätsschlüssels wird immer von der Entität weitergegeben, zu der er gehört.

Der Zielentitätstyp für jede Besitzerbeziehung wird auch dann als anderer Entitätstyp behandelt, wenn die Navigation denselben Typ aufweist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzerbeziehungen angewendet.

Die meisten Vorgänge in einer eigenen Entität erfordern den Zugriff über die Besitzerentität mithilfe der entsprechenden Navigation.

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

Konfiguriert eine Beziehung, in der die Zielentität im Besitz (oder Teil davon) dieser Entität ist. Der Wert des Zielentitätsschlüssels wird immer von der Entität weitergegeben, zu der er gehört.

Der Zielentitätstyp für jede Besitzerbeziehung wird auch dann als anderer Entitätstyp behandelt, wenn die Navigation denselben Typ aufweist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzerbeziehungen angewendet.

Die meisten Vorgänge in einer eigenen Entität erfordern den Zugriff über die Besitzerentität mithilfe der entsprechenden Navigation.

OwnsOne(Type, String)

Konfiguriert eine Beziehung, in der die Zielentität im Besitz (oder Teil davon) dieser Entität ist. Der Wert des Zielentitätsschlüssels wird immer von der Entität weitergegeben, zu der er gehört.

Der Zielentitätstyp für jede Besitzerbeziehung wird auch dann als anderer Entitätstyp behandelt, wenn die Navigation denselben Typ aufweist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzerbeziehungen angewendet.

Die meisten Vorgänge in einer eigenen Entität erfordern den Zugriff über die Besitzerentität mithilfe der entsprechenden Navigation.

Property(String)

Gibt ein Objekt zurück, das zum Konfigurieren einer Eigenschaft des besitzereigenen Entitätstyps verwendet werden kann. Wenn keine Eigenschaft mit dem angegebenen Namen vorhanden ist, wird eine neue Eigenschaft hinzugefügt.

Beim Hinzufügen einer neuen Eigenschaft mit dieser Überladung muss der Eigenschaftenname mit dem Namen einer CLR-Eigenschaft oder eines Felds für den Entitätstyp übereinstimmen. Diese Überladung kann nicht verwendet werden, um eine neue Schattenzustandseigenschaft hinzuzufügen.

Property(Type, String)

Gibt ein Objekt zurück, das zum Konfigurieren einer Eigenschaft des besitzereigenen Entitätstyps verwendet werden kann. Wenn keine Eigenschaft mit dem angegebenen Namen vorhanden ist, wird eine neue Eigenschaft hinzugefügt.

Wenn beim Hinzufügen einer neuen Eigenschaft eine Eigenschaft mit demselben Namen in der Entitätsklasse vorhanden ist, wird sie dem Modell hinzugefügt. Wenn in der Entitätsklasse keine Eigenschaft vorhanden ist, wird eine neue Schattenzustandseigenschaft hinzugefügt. Eine Schattenzustandseigenschaft ist eine Eigenschaft, die nicht über eine entsprechende Eigenschaft in der Entitätsklasse verfügt. Der aktuelle Wert für die Eigenschaft wird in den ChangeTracker Instanzen der Entitätsklasse gespeichert und nicht in Instanzen der Entitätsklasse gespeichert.

Property<TProperty>(String)

Gibt ein Objekt zurück, das zum Konfigurieren einer Eigenschaft des besitzereigenen Entitätstyps verwendet werden kann. Wenn keine Eigenschaft mit dem angegebenen Namen vorhanden ist, wird eine neue Eigenschaft hinzugefügt.

Wenn beim Hinzufügen einer neuen Eigenschaft eine Eigenschaft mit demselben Namen in der Entitätsklasse vorhanden ist, wird sie dem Modell hinzugefügt. Wenn in der Entitätsklasse keine Eigenschaft vorhanden ist, wird eine neue Schattenzustandseigenschaft hinzugefügt. Eine Schattenzustandseigenschaft ist eine Eigenschaft, die nicht über eine entsprechende Eigenschaft in der Entitätsklasse verfügt. Der aktuelle Wert für die Eigenschaft wird in den ChangeTracker Instanzen der Entitätsklasse gespeichert und nicht in Instanzen der Entitätsklasse gespeichert.

UsePropertyAccessMode(PropertyAccessMode)

Legt die Eigenschaft fest, die PropertyAccessMode für alle Eigenschaften dieses Entitätstyps verwendet werden soll.

Standardmäßig wird das Sicherungsfeld verwendet, wenn eins gemäß der Konvention gefunden wird oder angegeben wurde, wenn neue Objekte erstellt werden, in der Regel, wenn Entitäten aus der Datenbank abgefragt werden. Eigenschaften werden für alle anderen Zugriffe verwendet. Durch Aufrufen dieser Methode wird dieses Verhalten für alle Eigenschaften dieses Entitätstyps geändert, wie in der PropertyAccessMode Enumeration beschrieben.

Durch Aufrufen dieser Methode wird für alle Eigenschaften dieses Entitätstyps jeder Zugriffsmodus außer Kraft gesetzt, der für das Modell festgelegt wurde.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IInfrastructure<IMutableModel>.Instance

Das Modell, zu dem diese Beziehung gehört.

(Geerbt von ReferenceCollectionBuilderBase)
IInfrastructure<InternalEntityTypeBuilder>.Instance

Ruft den internen Generator ab, der zum Konfigurieren des eigenen Entitätstyps verwendet wird.

IInfrastructure<InternalRelationshipBuilder>.Instance

Ruft den internen Generator ab, der zum Konfigurieren dieser Beziehung verwendet wird.

(Geerbt von ReferenceCollectionBuilderBase)

Erweiterungsmethoden

Name Beschreibung
ForSqlServerIsMemoryOptimized(CollectionOwnershipBuilder, Boolean)

Konfiguriert die Tabelle, der die Entität bei der Zielzuordnung SQL Server als speicheroptimiert zugeordnet ist.

GetInfrastructure<T>(IInfrastructure<T>)

Ruft den Wert aus einer Eigenschaft ab, die mithilfe von IInfrastructure<T>ausgeblendet wird.

Diese Methode wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Sie wird in der Regel nicht im Anwendungscode verwendet.

HasConstraintName(CollectionOwnershipBuilder, String)

Konfiguriert den Fremdschlüsseleinschränkungsnamen für diese Beziehung, wenn sie auf eine relationale Datenbank ausgerichtet ist.

ToTable(CollectionOwnershipBuilder, String, String)

Konfiguriert die Ansicht oder Tabelle, der die Entität bei der Ausrichtung auf eine relationale Datenbank zugeordnet ist.

ToTable(CollectionOwnershipBuilder, String)

Konfiguriert die Ansicht oder Tabelle, der die Entität bei der Ausrichtung auf eine relationale Datenbank zugeordnet ist.

Gilt für: