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

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 sich ändern oder in zukünftigen Releases 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 sich ändern oder in zukünftigen Releases entfernt werden.

Eigenschaften

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 sich ändern oder in zukünftigen Releases 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 entitätseigene Typ, der konfiguriert wird.

PrincipalEntityType

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

(Geerbt von ReferenceCollectionBuilderBase)

Methoden

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 sich ändern oder in zukünftigen Releases 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 sich ändern oder in zukünftigen Releases entfernt werden.

HasChangeTrackingStrategy(ChangeTrackingStrategy)

Konfiguriert die, die ChangeTrackingStrategy für diesen Entitätstyp verwendet werden soll. Diese Strategie gibt an, wie der Kontext Änderungen an Eigenschaften für eine instance des Entitätstyps erkennt.

HasData(Object[])

Konfiguriert diese Entität so, dass sie Seeddaten enthält. Es wird verwendet, um Migrationen von Datenbewegungen zu generieren.

HasEntityTypeAnnotation(String, Object)

Fügt eine Anmerkung zum eigenen Entitätstyp hinzu oder aktualisiert sie. Wenn eine Anmerkung mit dem in annotation angegebenen Schlüssel bereits vorhanden ist, wird ihr Wert aktualisiert.

HasForeignKey(String[])

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

Wenn die angegebenen Eigenschaftsnamen für den Entitätstyp nicht vorhanden sind, wird eine neue Schattenzustandseigenschaft(en) hinzugefügt, die als Fremdschlüssel dienen. Eine Schattenzustandseigenschaft ist eine Eigenschaft, die keine entsprechende Eigenschaft in der Entitätsklasse aufweist. Der aktuelle Wert für die -Eigenschaft wird in der ChangeTracker gespeichert und nicht in Instanzen der Entitätsklasse gespeichert.

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

HasForeignKeyAnnotation(String, Object)

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

HasIndex(String[])

Konfiguriert einen Index für die angegebenen Eigenschaften. Wenn für den angegebenen Satz von Eigenschaften 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 entitätseigenen Typ besteht.

HasOne(String, String)

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

Beachten Sie, dass das Aufrufen dieser Methode ohne Parameter explizit diese Seite der Beziehung 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) verketten, um die Beziehung vollständig zu konfigurieren. Das Aufrufen dieser Methode ohne den verketteten Aufruf führt nicht zu einer gültigen Beziehung.

HasOne(Type, String)

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

Beachten Sie, dass das Aufrufen dieser Methode ohne Parameter explizit diese Seite der Beziehung 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) verketten, um die Beziehung vollständig zu konfigurieren. Das Aufrufen dieser Methode ohne den verketteten Aufruf führt nicht zu einer gültigen Beziehung.

HasPrincipalKey(String[])

Konfiguriert die eindeutigen Eigenschaften, auf die diese Beziehung abzielt. In der Regel rufen Sie diese Methode nur auf, wenn Sie eine andere Eigenschaft als den Primärschlüssel als Prinzipaleigenschaft(en) verwenden möchten. Wenn die angegebenen Eigenschaften nicht bereits eine eindeutige Einschränkung (oder der Primärschlüssel) sind, 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, die durch die Konvention hinzugefügt wurden.

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)

Konfiguriert eine Beziehung, in der sich die Zielentität im Besitz (oder teil davon) dieser Entität befindet.

Der Zielentitätstyp für jede Besitzbeziehung wird als unterschiedlicher Entitätstyp behandelt, auch wenn die Navigation vom gleichen Typ ist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzerbeziehungen angewendet.

Die meisten Vorgänge für eine eigene Entität erfordern den Zugriff über die Besitzerentität über die entsprechende Navigation.

OwnsMany(String, String, Action<CollectionOwnershipBuilder>)

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

OwnsMany(Type, String)

Konfiguriert eine Beziehung, in der sich die Zielentität im Besitz (oder teil davon) dieser Entität befindet.

Der Zielentitätstyp für jede Besitzbeziehung wird als unterschiedlicher Entitätstyp behandelt, auch wenn die Navigation vom gleichen Typ ist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzerbeziehungen angewendet.

Die meisten Vorgänge für eine eigene Entität erfordern den Zugriff über die Besitzerentität über die entsprechende Navigation.

OwnsMany(Type, String, Action<CollectionOwnershipBuilder>)

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

OwnsOne(String, String)

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

Der Zielentitätstyp für jede Besitzbeziehung wird als unterschiedlicher Entitätstyp behandelt, auch wenn die Navigation vom gleichen Typ ist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzerbeziehungen angewendet.

Die meisten Vorgänge für eine eigene Entität erfordern den Zugriff über die Besitzerentität über die entsprechende Navigation.

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

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

Der Zielentitätstyp für jede Besitzbeziehung wird als unterschiedlicher Entitätstyp behandelt, auch wenn die Navigation vom gleichen Typ ist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzerbeziehungen angewendet.

Die meisten Vorgänge für eine eigene Entität erfordern den Zugriff über die Besitzerentität über die entsprechende Navigation.

OwnsOne(Type, String)

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

Der Zielentitätstyp für jede Besitzbeziehung wird als unterschiedlicher Entitätstyp behandelt, auch wenn die Navigation vom gleichen Typ ist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzerbeziehungen angewendet.

Die meisten Vorgänge für eine eigene Entität erfordern den Zugriff über die Besitzerentität über die entsprechende Navigation.

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

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

Der Zielentitätstyp für jede Besitzbeziehung wird als unterschiedlicher Entitätstyp behandelt, auch wenn die Navigation vom gleichen Typ ist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzerbeziehungen angewendet.

Die meisten Vorgänge für eine eigene Entität erfordern den Zugriff über die Besitzerentität über die entsprechende Navigation.

Property(String)

Gibt ein -Objekt zurück, das zum Konfigurieren einer Eigenschaft des eigenen 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 CLR-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 eigenen 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 keine entsprechende Eigenschaft in der Entitätsklasse aufweist. Der aktuelle Wert für die -Eigenschaft wird in der ChangeTracker gespeichert und nicht in Instanzen der Entitätsklasse gespeichert.

Property<TProperty>(String)

Gibt ein -Objekt zurück, das zum Konfigurieren einer Eigenschaft des eigenen 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 keine entsprechende Eigenschaft in der Entitätsklasse aufweist. Der aktuelle Wert für die -Eigenschaft wird in der ChangeTracker gespeichert und nicht in Instanzen der Entitätsklasse gespeichert.

UsePropertyAccessMode(PropertyAccessMode)

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

Standardmäßig wird das Sicherungsfeld verwendet, wenn es aufgrund der Konvention gefunden 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. Das Aufrufen dieser Methode ändert dieses Verhalten für alle Eigenschaften dieses Entitätstyps, wie in der PropertyAccessMode Enumeration beschrieben.

Beim 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

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

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasConstraintName(CollectionOwnershipBuilder, String)

Konfiguriert den Namen der Fremdschlüsseleinschränkung für diese Beziehung, wenn eine relationale Datenbank als Ziel verwendet wird.

ToTable(CollectionOwnershipBuilder, String)

Konfiguriert die Ansicht oder Tabelle, der die Entität beim Ziel einer relationalen Datenbank zugeordnet wird.

ToTable(CollectionOwnershipBuilder, String, String)

Konfiguriert die Ansicht oder Tabelle, der die Entität beim Ziel einer relationalen Datenbank zugeordnet wird.

ForSqlServerIsMemoryOptimized(CollectionOwnershipBuilder, Boolean)

Konfiguriert die Tabelle, der die Entität beim Ziel SQL Server als speicheroptimiert zugeordnet wird.

Gilt für: