Sdílet prostřednictvím


ReferenceOwnershipBuilder Třída

Definice

Poskytuje jednoduché rozhraní API pro konfiguraci vlastnictví 1:1.

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)
Dědičnost
ReferenceOwnershipBuilder
Odvozené
Implementuje
IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Konstruktory

ReferenceOwnershipBuilder(EntityType, EntityType, InternalRelationshipBuilder)

Toto rozhraní API podporuje infrastrukturu Entity Framework Core a není určené k použití přímo z vašeho kódu. Toto rozhraní API se může změnit nebo odebrat v budoucích verzích.

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

Toto rozhraní API podporuje infrastrukturu Entity Framework Core a není určené k použití přímo z vašeho kódu. Toto rozhraní API se může změnit nebo odebrat v budoucích verzích.

Vlastnosti

Builder

Získá interní tvůrce, který se používá ke konfiguraci této relace.

(Zděděno od ReferenceReferenceBuilderBase)
DeclaringEntityType

Získá první typ entity použitý ke konfiguraci této relace.

(Zděděno od ReferenceReferenceBuilderBase)
Metadata

Cizí klíč, který představuje tento vztah.

(Zděděno od ReferenceReferenceBuilderBase)
OwnedEntityType

Konfigurovaný typ vlastněné entity

RelatedEntityType

Získá druhý typ entity použitý ke konfiguraci této relace.

(Zděděno od ReferenceReferenceBuilderBase)

Metody

FindRelatedEntityType(String, String)

Toto rozhraní API podporuje infrastrukturu Entity Framework Core a není určené k použití přímo z vašeho kódu. Toto rozhraní API se může změnit nebo odebrat v budoucích verzích.

FindRelatedEntityType(Type, String)

Toto rozhraní API podporuje infrastrukturu Entity Framework Core a není určené k použití přímo z vašeho kódu. Toto rozhraní API se může změnit nebo odebrat v budoucích verzích.

HasChangeTrackingStrategy(ChangeTrackingStrategy)

Nakonfiguruje pro ChangeTrackingStrategy použití pro tento typ entity. Tato strategie určuje, jak kontext rozpozná změny vlastností pro instanci typu entity.

HasData(Object[])

Nakonfiguruje tuto entitu tak, aby měla počáteční data. Používá se ke generování migrací pohybu dat.

HasEntityTypeAnnotation(String, Object)

Přidá nebo aktualizuje poznámku k typu vlastněné entity. Pokud anotaci s klíčem zadaným v annotation souboru již existuje, bude její hodnota aktualizována.

HasForeignKey(String[])

Nakonfiguruje vlastnosti, které se použijí jako cizí klíč pro tento vztah.

Pokud zadané názvy vlastností u typu entity neexistují, přidají se nové vlastnosti stínového stavu, které budou sloužit jako cizí klíč. Vlastnost stínového stavu je vlastnost, která nemá odpovídající vlastnost ve třídě entity. Aktuální hodnota vlastnosti je uložena v objektu ChangeTracker , nikoli v instancích třídy entity.

Pokud HasPrincipalKey(String[]) není zadaný, provede se pokus o porovnání datového typu a pořadí vlastností cizího klíče s primárním klíčem typu hlavní entity. Pokud se neshodují, nové vlastnosti stínového stavu, které tvoří jedinečný index, se přidají do typu hlavní entity, aby sloužily jako referenční klíč.

HasForeignKeyAnnotation(String, Object)

Přidá nebo aktualizuje poznámku k cizímu klíči. Pokud anotaci s klíčem zadaným v annotation souboru již existuje, bude její hodnota aktualizována.

HasIndex(String[])

Konfiguruje index pro zadané vlastnosti. Pokud v dané sadě vlastností existuje index, vrátí se pro konfiguraci existující index.

HasKey(String[])

Nastaví vlastnosti, které tvoří primární klíč pro tento vlastněný typ entity.

HasMany(String, String)

Nakonfiguruje relaci, ve které má tento typ entity kolekci, která obsahuje instance jiného typu v relaci.

Všimněte si, že volání této metody bez parametrů explicitně nakonfiguruje tuto stranu relace tak, aby nepoužíla žádnou navigační vlastnost, a to ani v případě, že taková vlastnost existuje u typu entity. Pokud se má použít vlastnost navigace, musí být zadána.

Po volání této metody byste měli zřetězeným voláním plně WithOne(String) nakonfigurovat relaci. Volání pouze této metody bez zřetězený volání nevytvoří platnou relaci.

HasMany(Type, String)

Nakonfiguruje relaci, ve které má tento typ entity kolekci, která obsahuje instance jiného typu v relaci.

Všimněte si, že volání této metody bez parametrů explicitně nakonfiguruje tuto stranu relace tak, aby nepoužíla žádnou navigační vlastnost, a to ani v případě, že taková vlastnost existuje u typu entity. Pokud se má použít vlastnost navigace, musí být zadána.

Po volání této metody byste měli zřetězeným voláním plně WithOne(String) nakonfigurovat relaci. Volání pouze této metody bez zřetězený volání nevytvoří platnou relaci.

HasOne(String, String)

Nakonfiguruje relaci, ve které má tento typ entity odkaz, který odkazuje na jednu instanci druhého typu v relaci.

Všimněte si, že volání této metody bez parametrů explicitně nakonfiguruje tuto stranu relace tak, aby nepoužíla žádnou navigační vlastnost, a to ani v případě, že taková vlastnost existuje u typu entity. Pokud se má použít vlastnost navigace, musí být zadána.

Po volání této metody byste měli zřetězovat volání nebo WithMany(String)WithOne(String) k úplné konfiguraci relace. Volání pouze této metody bez zřetězený volání nevytvoří platnou relaci.

HasOne(Type, String)

Nakonfiguruje relaci, ve které má tento typ entity odkaz, který odkazuje na jednu instanci druhého typu v relaci.

Všimněte si, že volání této metody bez parametrů explicitně nakonfiguruje tuto stranu relace tak, aby nepoužíla žádnou navigační vlastnost, a to ani v případě, že taková vlastnost existuje u typu entity. Pokud se má použít vlastnost navigace, musí být zadána.

Po volání této metody byste měli zřetězovat volání nebo WithMany(String)WithOne(String) k úplné konfiguraci relace. Volání pouze této metody bez zřetězený volání nevytvoří platnou relaci.

HasPrincipalKey(String[])

Konfiguruje jedinečné vlastnosti, na které tento vztah cílí – to znamená u entity typu vlastníka. Tuto metodu byste obvykle volali pouze v případě, že chcete jako hlavní vlastnosti použít jiné vlastnosti než primární klíč. Pokud zadané vlastnosti již nejsou jedinečným omezením (nebo primárním klíčem), bude zavedeno nové jedinečné omezení.

Ignore(String)

Vyloučí danou vlastnost z typu entity. Tato metoda se obvykle používá k odebrání vlastností z vlastněného typu entity, které byly přidány podle konvence.

OnDelete(DeleteBehavior)

Konfiguruje způsob použití operace odstranění u závislých entit v relaci, když je objekt zabezpečení odstraněn nebo relace přerušena.

OwnsMany(String, String)

Nakonfiguruje relaci, ve které cílovou entitu vlastní (nebo její část).

Typ cílové entity pro každý vztah vlastnictví se považuje za jiný typ entity, i když je navigace stejného typu. Konfigurace typu cílové entity se nepoužije na typ cílové entity jiných vztahů vlastnictví.

Většina operací s vlastněnou entitou vyžaduje přístup k ní prostřednictvím entity vlastníka pomocí odpovídající navigace.

OwnsMany(String, String, Action<CollectionOwnershipBuilder>)

Nakonfiguruje relaci, ve které tento typ entity poskytuje identitu druhému typu v relaci.

OwnsMany(Type, String)

Nakonfiguruje relaci, ve které cílovou entitu vlastní (nebo její část).

Typ cílové entity pro každý vztah vlastnictví se považuje za jiný typ entity, i když je navigace stejného typu. Konfigurace typu cílové entity se nepoužije na typ cílové entity jiných vztahů vlastnictví.

Většina operací s vlastněnou entitou vyžaduje přístup k ní prostřednictvím entity vlastníka pomocí odpovídající navigace.

OwnsMany(Type, String, Action<CollectionOwnershipBuilder>)

Nakonfiguruje relaci, ve které tento typ entity poskytuje identitu druhému typu v relaci.

OwnsOne(String, String)

Nakonfiguruje relaci, ve které cílovou entitu vlastní (nebo její část). Hodnota klíče cílové entity se vždy šíří z entity, do které patří.

Typ cílové entity pro každý vztah vlastnictví se považuje za jiný typ entity, i když je navigace stejného typu. Konfigurace typu cílové entity se nepoužije na typ cílové entity jiných vztahů vlastnictví.

Většina operací s vlastněnou entitou vyžaduje přístup k ní prostřednictvím entity vlastníka pomocí odpovídající navigace.

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

Nakonfiguruje relaci, ve které cílovou entitu vlastní (nebo její část). Hodnota klíče cílové entity se vždy šíří z entity, do které patří.

Typ cílové entity pro každý vztah vlastnictví se považuje za jiný typ entity, i když je navigace stejného typu. Konfigurace typu cílové entity se nepoužije na typ cílové entity jiných vztahů vlastnictví.

Většina operací s vlastněnou entitou vyžaduje přístup k ní prostřednictvím entity vlastníka pomocí odpovídající navigace.

OwnsOne(Type, String)

Nakonfiguruje relaci, ve které cílovou entitu vlastní (nebo její část). Hodnota klíče cílové entity se vždy šíří z entity, do které patří.

Typ cílové entity pro každý vztah vlastnictví se považuje za jiný typ entity, i když je navigace stejného typu. Konfigurace typu cílové entity se nepoužije na typ cílové entity jiných vztahů vlastnictví.

Většina operací s vlastněnou entitou vyžaduje přístup k ní prostřednictvím entity vlastníka pomocí odpovídající navigace.

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

Nakonfiguruje relaci, ve které cílovou entitu vlastní (nebo její část). Hodnota klíče cílové entity se vždy šíří z entity, do které patří.

Typ cílové entity pro každý vztah vlastnictví se považuje za jiný typ entity, i když je navigace stejného typu. Konfigurace typu cílové entity se nepoužije na typ cílové entity jiných vztahů vlastnictví.

Většina operací s vlastněnou entitou vyžaduje přístup k ní prostřednictvím entity vlastníka pomocí odpovídající navigace.

Property(String)

Vrátí objekt, který lze použít ke konfiguraci vlastnosti vlastněného typu entity. Pokud žádná vlastnost s daným názvem neexistuje, přidá se nová vlastnost.

Při přidávání nové vlastnosti s tímto přetížením musí název vlastnosti odpovídat názvu vlastnosti clr nebo pole v typu entity. Toto přetížení nelze použít k přidání nové vlastnosti stínového stavu.

Property(Type, String)

Vrátí objekt, který lze použít ke konfiguraci vlastnosti vlastněného typu entity. Pokud žádná vlastnost s daným názvem neexistuje, přidá se nová vlastnost.

Pokud při přidávání nové vlastnosti ve třídě entity existuje vlastnost se stejným názvem, přidá se do modelu. Pokud ve třídě entity neexistuje žádná vlastnost, přidá se nová vlastnost stínového stavu. Vlastnost stínového stavu je vlastnost, která nemá odpovídající vlastnost ve třídě entity. Aktuální hodnota vlastnosti je uložena v objektu ChangeTracker , nikoli v instancích třídy entity.

Property<TProperty>(String)

Vrátí objekt, který lze použít ke konfiguraci vlastnosti vlastněného typu entity. Pokud žádná vlastnost s daným názvem neexistuje, přidá se nová vlastnost.

Pokud při přidávání nové vlastnosti ve třídě entity existuje vlastnost se stejným názvem, přidá se do modelu. Pokud ve třídě entity neexistuje žádná vlastnost, přidá se nová vlastnost stínového stavu. Vlastnost stínového stavu je vlastnost, která nemá odpovídající vlastnost ve třídě entity. Aktuální hodnota vlastnosti je uložena v objektu ChangeTracker , nikoli v instancích třídy entity.

UsePropertyAccessMode(PropertyAccessMode)

Nastaví pro PropertyAccessMode použití pro všechny vlastnosti tohoto typu entity.

Ve výchozím nastavení se záložní pole, pokud je nalezeno podle konvence nebo bylo zadáno, používá při vytváření nových objektů, obvykle při dotazování entit z databáze. Vlastnosti se používají pro všechny ostatní přístupy. Volání této metody změní toto chování pro všechny vlastnosti tohoto typu entity, jak je popsáno ve výčtu PropertyAccessMode .

Volání této metody přepíše všechny vlastnosti této entity typu jakýkoli režim přístupu, který byl nastaven v modelu.

Explicitní implementace rozhraní

IInfrastructure<IMutableModel>.Instance

Model, do kterého tato relace patří.

(Zděděno od ReferenceReferenceBuilderBase)
IInfrastructure<InternalEntityTypeBuilder>.Instance

Získá interní tvůrce, který se používá ke konfiguraci vlastněného typu entity.

IInfrastructure<InternalRelationshipBuilder>.Instance

Získá interní tvůrce, který se používá ke konfiguraci této relace.

(Zděděno od ReferenceReferenceBuilderBase)

Metody rozšíření

GetInfrastructure<T>(IInfrastructure<T>)

Získá hodnotu z vlastnosti, která je skryta pomocí IInfrastructure<T>.

Tuto metodu obvykle používají poskytovatelé databází (a další rozšíření). Obvykle se nepoužívá v kódu aplikace.

HasConstraintName(ReferenceOwnershipBuilder, String)

Konfiguruje název omezení cizího klíče pro tuto relaci při cílení na relační databázi.

ToTable(ReferenceOwnershipBuilder, String)

Nakonfiguruje zobrazení nebo tabulku, na které entita mapuje při cílení na relační databázi.

ToTable(ReferenceOwnershipBuilder, String, String)

Nakonfiguruje zobrazení nebo tabulku, na které entita mapuje při cílení na relační databázi.

ForSqlServerIsMemoryOptimized(ReferenceOwnershipBuilder, Boolean)

Nakonfiguruje tabulku, na kterou se entita mapuje při cílení SQL Server jako optimalizováno pro paměť.

Platí pro