Freigeben über


ReferenceOwnershipBuilder Klasse

Definition

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

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

Konstruktoren

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

ReferenceOwnershipBuilder(InternalRelationshipBuilder, ReferenceOwnershipBuilder, Boolean, 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

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

(Geerbt von ReferenceReferenceBuilderBase)
DeclaringEntityType

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

(Geerbt von ReferenceReferenceBuilderBase)
Metadata

Der Fremdschlüssel, der diese Beziehung darstellt.

(Geerbt von ReferenceReferenceBuilderBase)
OwnedEntityType

Der entitätseigene Typ, der konfiguriert wird.

RelatedEntityType

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

(Geerbt von ReferenceReferenceBuilderBase)

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, um Startdaten zu erhalten. 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 in annotation angegebenen Schlüssel bereits vorhanden ist, wird ihr Wert aktualisiert.

HasForeignKey(String[])

Konfiguriert die Eigenschaften, 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(n) hinzugefügt, die als Fremdschlüssel dienen soll. 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, anstatt in Instanzen der Entitätsklasse gespeichert zu werden.

Wenn HasPrincipalKey(String[]) nicht angegeben ist, 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 dem Fremdschlüssel eine Anmerkung 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 ein Index für den angegebenen Satz von Eigenschaften vorhanden ist, wird der vorhandene Index zur Konfiguration zurückgegeben.

HasKey(String[])

Legt die Eigenschaften fest, aus denen der Primärschlüssel für diesen entitätseigenen Typ besteht.

HasMany(String, String)

Konfiguriert eine Beziehung, bei der dieser Entitätstyp über eine Auflistung verfügt, die Instanzen des anderen Typs in der Beziehung enthält.

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 im Entitätstyp vorhanden ist. Wenn die Navigationseigenschaft verwendet werden soll, muss sie angegeben werden.

Nach dem Aufrufen dieser Methode sollten Sie einen Aufruf von verketten, WithOne(String) um die Beziehung vollständig zu konfigurieren. Das Aufrufen dieser Methode ohne den verketteten Aufruf erzeugt keine gültige Beziehung.

HasMany(Type, String)

Konfiguriert eine Beziehung, bei der dieser Entitätstyp über eine Auflistung verfügt, die Instanzen des anderen Typs in der Beziehung enthält.

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 im Entitätstyp vorhanden ist. Wenn die Navigationseigenschaft verwendet werden soll, muss sie angegeben werden.

Nach dem Aufrufen dieser Methode sollten Sie einen Aufruf von verketten, WithOne(String) um die Beziehung vollständig zu konfigurieren. Das Aufrufen dieser Methode ohne den verketteten Aufruf erzeugt keine gültige Beziehung.

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 im 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 erzeugt keine gültige 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 im 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 erzeugt keine gültige Beziehung.

HasPrincipalKey(String[])

Konfiguriert die eindeutigen Eigenschaften, auf die diese Beziehung abzielt, d. h. für den Besitzerentitätstyp. In der Regel rufen Sie diese Methode nur auf, wenn Sie eine andere Eigenschaft als den Primärschlüssel als Prinzipaleigenschaft(n) 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, der durch die 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)

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 ein anderer Entitätstyp behandelt, auch wenn die Navigation denselben Typ aufweist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzbeziehungen angewendet.

Die meisten Vorgänge für eine eigene Entität erfordern den Zugriff über die Besitzerentität mithilfe der entsprechenden 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 ein anderer Entitätstyp behandelt, auch wenn die Navigation denselben Typ aufweist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzbeziehungen angewendet.

Die meisten Vorgänge für eine eigene Entität erfordern den Zugriff über die Besitzerentität mithilfe der entsprechenden 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 ein anderer Entitätstyp behandelt, auch wenn die Navigation denselben Typ aufweist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzbeziehungen angewendet.

Die meisten Vorgänge für eine eigene Entität erfordern den Zugriff über die Besitzerentität mithilfe der entsprechenden 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 ein anderer Entitätstyp behandelt, auch wenn die Navigation denselben Typ aufweist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzbeziehungen angewendet.

Die meisten Vorgänge für eine eigene Entität erfordern den Zugriff über die Besitzerentität mithilfe der entsprechenden 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 ein anderer Entitätstyp behandelt, auch wenn die Navigation denselben Typ aufweist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzbeziehungen angewendet.

Die meisten Vorgänge für eine eigene Entität erfordern den Zugriff über die Besitzerentität mithilfe der entsprechenden 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 ein anderer Entitätstyp behandelt, auch wenn die Navigation denselben Typ aufweist. Die Konfiguration des Zielentitätstyps wird nicht auf den Zielentitätstyp anderer Besitzbeziehungen angewendet.

Die meisten Vorgänge für eine eigene 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 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, anstatt in Instanzen der Entitätsklasse gespeichert zu werden.

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, anstatt in Instanzen der Entitätsklasse gespeichert zu werden.

UsePropertyAccessMode(PropertyAccessMode)

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

Standardmäßig wird das Sicherungsfeld verwendet, wenn es gemäß konventionskonstruiert ist 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. Wenn Sie diese Methode aufrufen, ändert sich 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 ReferenceReferenceBuilderBase)
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 ReferenceReferenceBuilderBase)

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 in der Regel nicht im Anwendungscode verwendet.

HasConstraintName(ReferenceOwnershipBuilder, String)

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

ToTable(ReferenceOwnershipBuilder, String)

Konfiguriert die Ansicht oder Tabelle, der die Entität zugeordnet ist, wenn eine relationale Datenbank als Ziel verwendet wird.

ToTable(ReferenceOwnershipBuilder, String, String)

Konfiguriert die Ansicht oder Tabelle, der die Entität zugeordnet ist, wenn eine relationale Datenbank als Ziel verwendet wird.

ForSqlServerIsMemoryOptimized(ReferenceOwnershipBuilder, Boolean)

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

Gilt für: