Udostępnij za pośrednictwem


ReferenceOwnershipBuilder Klasa

Definicja

Udostępnia prosty interfejs API do konfigurowania własności jeden do jednego.

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)
Dziedziczenie
ReferenceOwnershipBuilder
Pochodne
Implementuje
IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Konstruktory

ReferenceOwnershipBuilder(EntityType, EntityType, InternalRelationshipBuilder)

Ten interfejs API obsługuje infrastrukturę platformy Entity Framework Core i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu. Ten interfejs API może ulec zmianie lub zostać usunięty w przyszłych wersjach.

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

Ten interfejs API obsługuje infrastrukturę platformy Entity Framework Core i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu. Ten interfejs API może ulec zmianie lub zostać usunięty w przyszłych wersjach.

Właściwości

Builder

Pobiera konstruktor wewnętrzny używany do konfigurowania tej relacji.

(Odziedziczone po ReferenceReferenceBuilderBase)
DeclaringEntityType

Pobiera pierwszy typ jednostki używany do konfigurowania tej relacji.

(Odziedziczone po ReferenceReferenceBuilderBase)
Metadata

Klucz obcy reprezentujący tę relację.

(Odziedziczone po ReferenceReferenceBuilderBase)
OwnedEntityType

Konfigurowany jest typ jednostki będącej własnością.

RelatedEntityType

Pobiera drugi typ jednostki używany do konfigurowania tej relacji.

(Odziedziczone po ReferenceReferenceBuilderBase)

Metody

FindRelatedEntityType(String, String)

Ten interfejs API obsługuje infrastrukturę platformy Entity Framework Core i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu. Ten interfejs API może ulec zmianie lub zostać usunięty w przyszłych wersjach.

FindRelatedEntityType(Type, String)

Ten interfejs API obsługuje infrastrukturę platformy Entity Framework Core i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu. Ten interfejs API może ulec zmianie lub zostać usunięty w przyszłych wersjach.

HasChangeTrackingStrategy(ChangeTrackingStrategy)

Konfiguruje element ChangeTrackingStrategy , który ma być używany dla tego typu jednostki. Ta strategia wskazuje, w jaki sposób kontekst wykrywa zmiany właściwości dla wystąpienia typu jednostki.

HasData(Object[])

Konfiguruje tę jednostkę tak, aby dane inicjowały. Służy do generowania migracji ruchu danych.

HasEntityTypeAnnotation(String, Object)

Dodaje lub aktualizuje adnotację typu jednostki będącej własnością. Jeśli adnotacja z kluczem określonym w annotation już istnieje, zostanie zaktualizowana jego wartość.

HasForeignKey(String[])

Konfiguruje właściwości do użycia jako klucz obcy dla tej relacji.

Jeśli określone nazwy właściwości nie istnieją w typie jednostki, zostaną dodane nowe właściwości stanu w tle, które będą pełnić rolę klucza obcego. Właściwość stanu w tle jest taka, która nie ma odpowiedniej właściwości w klasie jednostki. Bieżąca wartość właściwości jest przechowywana w ChangeTracker obiekcie , a nie jest przechowywana w wystąpieniach klasy jednostki.

Jeśli HasPrincipalKey(String[]) nie zostanie określony, zostanie podjęta próba dopasowania typu danych i kolejności właściwości klucza obcego do klucza podstawowego typu jednostki głównej. Jeśli nie są one zgodne, nowe właściwości stanu w tle, które tworzą unikatowy indeks, zostaną dodane do typu jednostki głównej, aby służyć jako klucz odwołania.

HasForeignKeyAnnotation(String, Object)

Dodaje lub aktualizuje adnotację klucza obcego. Jeśli adnotacja z kluczem określonym w annotation już istnieje, zostanie zaktualizowana jego wartość.

HasIndex(String[])

Konfiguruje indeks dla określonych właściwości. Jeśli istnieje indeks dla danego zestawu właściwości, istniejący indeks zostanie zwrócony dla konfiguracji.

HasKey(String[])

Ustawia właściwości tworzące klucz podstawowy dla tego typu jednostki należącej do użytkownika.

HasMany(String, String)

Konfiguruje relację, w której ten typ jednostki ma kolekcję zawierającą wystąpienia innego typu w relacji.

Należy pamiętać, że wywołanie tej metody bez parametrów spowoduje jawne skonfigurowanie tej strony relacji tak, aby nie korzystała z właściwości nawigacji, nawet jeśli taka właściwość istnieje w typie jednostki. Jeśli właściwość nawigacji ma być używana, należy ją określić.

Po wywołaniu tej metody należy utworzyć łańcuch wywołań , aby WithOne(String) w pełni skonfigurować relację. Wywołanie tylko tej metody bez wywołania łańcuchowego nie spowoduje wygenerowania prawidłowej relacji.

HasMany(Type, String)

Konfiguruje relację, w której ten typ jednostki ma kolekcję zawierającą wystąpienia innego typu w relacji.

Należy pamiętać, że wywołanie tej metody bez parametrów spowoduje jawne skonfigurowanie tej strony relacji tak, aby nie korzystała z właściwości nawigacji, nawet jeśli taka właściwość istnieje w typie jednostki. Jeśli właściwość nawigacji ma być używana, należy ją określić.

Po wywołaniu tej metody należy utworzyć łańcuch wywołań , aby WithOne(String) w pełni skonfigurować relację. Wywołanie tylko tej metody bez wywołania łańcuchowego nie spowoduje wygenerowania prawidłowej relacji.

HasOne(String, String)

Konfiguruje relację, w której ten typ jednostki ma odwołanie wskazujące pojedyncze wystąpienie innego typu w relacji.

Należy pamiętać, że wywołanie tej metody bez parametrów spowoduje jawne skonfigurowanie tej strony relacji tak, aby nie korzystała z właściwości nawigacji, nawet jeśli taka właściwość istnieje w typie jednostki. Jeśli właściwość nawigacji ma być używana, należy ją określić.

Po wywołaniu tej metody należy połączyć wywołanie metody WithMany(String) lub WithOne(String) w pełni skonfigurować relację. Wywołanie tylko tej metody bez wywołania łańcuchowego nie spowoduje wygenerowania prawidłowej relacji.

HasOne(Type, String)

Konfiguruje relację, w której ten typ jednostki ma odwołanie wskazujące pojedyncze wystąpienie innego typu w relacji.

Należy pamiętać, że wywołanie tej metody bez parametrów spowoduje jawne skonfigurowanie tej strony relacji tak, aby nie korzystała z właściwości nawigacji, nawet jeśli taka właściwość istnieje w typie jednostki. Jeśli właściwość nawigacji ma być używana, należy ją określić.

Po wywołaniu tej metody należy połączyć wywołanie metody WithMany(String) lub WithOne(String) w pełni skonfigurować relację. Wywołanie tylko tej metody bez wywołania łańcuchowego nie spowoduje wygenerowania prawidłowej relacji.

HasPrincipalKey(String[])

Konfiguruje unikatowe właściwości, których dotyczy ta relacja — czyli dla typu jednostki właściciela. Zazwyczaj ta metoda jest wywoływana tylko wtedy, gdy chcesz użyć właściwości innych niż klucz podstawowy jako właściwości główne. Jeśli określone właściwości nie są jeszcze unikatowym ograniczeniem (lub kluczem podstawowym), zostanie wprowadzone nowe ograniczenie unikatowe.

Ignore(String)

Wyklucza daną właściwość z typu jednostki. Ta metoda jest zwykle używana do usuwania właściwości z typu jednostki należącej do użytkownika, które zostały dodane przez konwencję.

OnDelete(DeleteBehavior)

Konfiguruje sposób stosowania operacji usuwania do jednostek zależnych w relacji po usunięciu podmiotu zabezpieczeń lub zerwaniu relacji.

OwnsMany(String, String)

Konfiguruje relację, w której jednostka docelowa jest własnością tej jednostki (lub jej części).

Typ jednostki docelowej dla każdej relacji własności jest traktowany jako inny typ jednostki, nawet jeśli nawigacja jest tego samego typu. Konfiguracja typu jednostki docelowej nie jest stosowana do typu jednostki docelowej innych relacji własności.

Większość operacji na jednostce będącej własnością wymaga dostępu do niej za pośrednictwem jednostki właściciela przy użyciu odpowiedniej nawigacji.

OwnsMany(String, String, Action<CollectionOwnershipBuilder>)

Konfiguruje relację, w której ten typ jednostki zapewnia tożsamość innego typu w relacji.

OwnsMany(Type, String)

Konfiguruje relację, w której jednostka docelowa jest własnością tej jednostki (lub jej części).

Typ jednostki docelowej dla każdej relacji własności jest traktowany jako inny typ jednostki, nawet jeśli nawigacja jest tego samego typu. Konfiguracja typu jednostki docelowej nie jest stosowana do typu jednostki docelowej innych relacji własności.

Większość operacji na jednostce będącej własnością wymaga dostępu do niej za pośrednictwem jednostki właściciela przy użyciu odpowiedniej nawigacji.

OwnsMany(Type, String, Action<CollectionOwnershipBuilder>)

Konfiguruje relację, w której ten typ jednostki zapewnia tożsamość innego typu w relacji.

OwnsOne(String, String)

Konfiguruje relację, w której jednostka docelowa jest własnością tej jednostki (lub jej części). Wartość klucza jednostki docelowej jest zawsze propagowana z jednostki, do niej należy.

Typ jednostki docelowej dla każdej relacji własności jest traktowany jako inny typ jednostki, nawet jeśli nawigacja jest tego samego typu. Konfiguracja typu jednostki docelowej nie jest stosowana do typu jednostki docelowej innych relacji własności.

Większość operacji na jednostce będącej własnością wymaga dostępu do niej za pośrednictwem jednostki właściciela przy użyciu odpowiedniej nawigacji.

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

Konfiguruje relację, w której jednostka docelowa jest własnością tej jednostki (lub jej części). Wartość klucza jednostki docelowej jest zawsze propagowana z jednostki, do niej należy.

Typ jednostki docelowej dla każdej relacji własności jest traktowany jako inny typ jednostki, nawet jeśli nawigacja jest tego samego typu. Konfiguracja typu jednostki docelowej nie jest stosowana do typu jednostki docelowej innych relacji własności.

Większość operacji na jednostce będącej własnością wymaga dostępu do niej za pośrednictwem jednostki właściciela przy użyciu odpowiedniej nawigacji.

OwnsOne(Type, String)

Konfiguruje relację, w której jednostka docelowa jest własnością tej jednostki (lub jej części). Wartość klucza jednostki docelowej jest zawsze propagowana z jednostki, do niej należy.

Typ jednostki docelowej dla każdej relacji własności jest traktowany jako inny typ jednostki, nawet jeśli nawigacja jest tego samego typu. Konfiguracja typu jednostki docelowej nie jest stosowana do typu jednostki docelowej innych relacji własności.

Większość operacji na jednostce będącej własnością wymaga dostępu do niej za pośrednictwem jednostki właściciela przy użyciu odpowiedniej nawigacji.

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

Konfiguruje relację, w której jednostka docelowa jest własnością tej jednostki (lub jej części). Wartość klucza jednostki docelowej jest zawsze propagowana z jednostki, do niej należy.

Typ jednostki docelowej dla każdej relacji własności jest traktowany jako inny typ jednostki, nawet jeśli nawigacja jest tego samego typu. Konfiguracja typu jednostki docelowej nie jest stosowana do typu jednostki docelowej innych relacji własności.

Większość operacji na jednostce będącej własnością wymaga dostępu do niej za pośrednictwem jednostki właściciela przy użyciu odpowiedniej nawigacji.

Property(String)

Zwraca obiekt, który może służyć do konfigurowania właściwości typu jednostki będącej własnością. Jeśli żadna właściwość o podanej nazwie nie istnieje, zostanie dodana nowa właściwość.

Podczas dodawania nowej właściwości z tym przeciążeniem nazwa właściwości musi być zgodna z nazwą właściwości lub pola CLR w typie jednostki. Tego przeciążenia nie można użyć do dodania nowej właściwości stanu w tle.

Property(Type, String)

Zwraca obiekt, który może służyć do konfigurowania właściwości typu jednostki będącej własnością. Jeśli żadna właściwość o podanej nazwie nie istnieje, zostanie dodana nowa właściwość.

Jeśli podczas dodawania nowej właściwości właściwość o tej samej nazwie istnieje w klasie jednostki, zostanie ona dodana do modelu. Jeśli w klasie jednostki nie istnieje żadna właściwość, zostanie dodana nowa właściwość stanu w tle. Właściwość stanu w tle jest taka, która nie ma odpowiedniej właściwości w klasie jednostki. Bieżąca wartość właściwości jest przechowywana w ChangeTracker obiekcie , a nie jest przechowywana w wystąpieniach klasy jednostki.

Property<TProperty>(String)

Zwraca obiekt, który może służyć do konfigurowania właściwości typu jednostki będącej własnością. Jeśli żadna właściwość o podanej nazwie nie istnieje, zostanie dodana nowa właściwość.

Podczas dodawania nowej właściwości, jeśli właściwość o tej samej nazwie istnieje w klasie jednostki, zostanie dodana do modelu. Jeśli w klasie jednostki nie istnieje żadna właściwość, zostanie dodana nowa właściwość stanu cienia. Właściwość stanu cienia jest taka, która nie ma odpowiedniej właściwości w klasie jednostki. Bieżąca wartość właściwości jest przechowywana w ChangeTracker zamiast przechowywać w wystąpieniach klasy jednostki.

UsePropertyAccessMode(PropertyAccessMode)

Ustawia wartość PropertyAccessMode do użycia dla wszystkich właściwości tego typu jednostki.

Domyślnie pole tworzenia kopii zapasowej, jeśli zostanie znalezione zgodnie z konwencją lub zostało określone, jest używane podczas konstruowania nowych obiektów, zazwyczaj gdy jednostki są odpytywane z bazy danych. Właściwości są używane dla wszystkich innych dostępu. Wywołanie tej metody spowoduje zmianę tego zachowania dla wszystkich właściwości tego typu jednostki zgodnie z opisem w wyliczenia PropertyAccessMode .

Wywołanie tej metody zastępuje wszystkie właściwości tej jednostki typu dowolnego trybu dostępu, który został ustawiony w modelu.

Jawne implementacje interfejsu

IInfrastructure<IMutableModel>.Instance

Model, do którego należy ta relacja.

(Odziedziczone po ReferenceReferenceBuilderBase)
IInfrastructure<InternalEntityTypeBuilder>.Instance

Pobiera konstruktora wewnętrznego używanego do konfigurowania typu jednostki należącej do użytkownika.

IInfrastructure<InternalRelationshipBuilder>.Instance

Pobiera konstruktor wewnętrzny używany do konfigurowania tej relacji.

(Odziedziczone po ReferenceReferenceBuilderBase)

Metody rozszerzania

GetInfrastructure<T>(IInfrastructure<T>)

Pobiera wartość z właściwości ukrytej przy użyciu polecenia IInfrastructure<T>.

Ta metoda jest zwykle używana przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji.

HasConstraintName(ReferenceOwnershipBuilder, String)

Konfiguruje nazwę ograniczenia klucza obcego dla tej relacji podczas określania wartości docelowej relacyjnej bazy danych.

ToTable(ReferenceOwnershipBuilder, String)

Konfiguruje widok lub tabelę, na którą mapuje jednostka podczas określania wartości docelowej relacyjnej bazy danych.

ToTable(ReferenceOwnershipBuilder, String, String)

Konfiguruje widok lub tabelę, na którą mapuje jednostka podczas określania wartości docelowej relacyjnej bazy danych.

ForSqlServerIsMemoryOptimized(ReferenceOwnershipBuilder, Boolean)

Konfiguruje tabelę, na którą jest mapowana jednostka podczas określania wartości docelowej SQL Server jako zoptymalizowanej pod kątem pamięci.

Dotyczy