Sdílet prostřednictvím


CollectionOwnershipBuilder Třída

Definice

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

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

Konstruktory

CollectionOwnershipBuilder(EntityType, EntityType, InternalRelationshipBuilder)

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

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

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

Vlastnosti

Builder

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

(Zděděno od ReferenceCollectionBuilderBase)
DependentEntityType

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

(Zděděno od ReferenceCollectionBuilderBase)
Metadata

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

(Zděděno od ReferenceCollectionBuilderBase)
OwnedEntityType

Konfiguruje se vlastněný typ entity.

PrincipalEntityType

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

(Zděděno od ReferenceCollectionBuilderBase)

Metody

FindRelatedEntityType(String, String)

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

FindRelatedEntityType(Type, String)

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

HasChangeTrackingStrategy(ChangeTrackingStrategy)

Nakonfiguruje pro ChangeTrackingStrategy použití pro tento typ entity. Tato strategie označ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 vlastněným typům entity. Pokud anotaci s klíčem zadaným v annotation již existuje, její hodnota se aktualizuje.

HasForeignKey(String[])

Nakonfiguruje vlastnosti, které se mají použít jako cizí klíč pro tuto relaci.

Pokud zadané názvy vlastností u typu entity neexistují, budou přidány 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í zadán, provede se pokus o shodu datového typu a pořadí vlastností cizího klíče s primárním klíčem typu entity objektu zabezpečení. Pokud se neshodují, budou nové vlastnosti stínového stavu, které tvoří jedinečný index, přidány 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 již existuje, její hodnota se aktualizuje.

HasIndex(String[])

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

HasKey(String[])

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

HasOne(String, String)

Konfiguruje relaci, kde tento typ entity má 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 i 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) plně nakonfigurovat relaci. Volání pouze této metody bez zřetězený volání nevytvoří platnou relaci.

HasOne(Type, String)

Konfiguruje relaci, kde tento typ entity má 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 i 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) plně nakonfigurovat relaci. Volání pouze této metody bez zřetězený volání nevytvoří platnou relaci.

HasPrincipalKey(String[])

Konfiguruje jedinečné vlastnosti, na které tato relace cílí. 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ího typu entity, které byly přidány konvencí.

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 je přerušena.

OwnsMany(String, String)

Nakonfiguruje relaci, ve které je cílová entita vlastněná touto entitou (nebo její částí).

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

Většina operací s vlastněnou entitou vyžaduje přístup k entitě 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é je cílová entita vlastněná touto entitou (nebo její částí).

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

Většina operací s vlastněnou entitou vyžaduje přístup k entitě 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é je cílová entita vlastněná touto entitou (nebo její částí). Hodnota klíče cílové entity se vždy šíří z entity, do které patří.

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

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

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

Nakonfiguruje relaci, ve které je cílová entita vlastněná touto entitou (nebo její částí). Hodnota klíče cílové entity se vždy šíří z entity, do které patří.

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

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

OwnsOne(Type, String)

Nakonfiguruje relaci, ve které je cílová entita vlastněná touto entitou (nebo její částí). Hodnota klíče cílové entity se vždy šíří z entity, do které patří.

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

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

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

Nakonfiguruje relaci, ve které je cílová entita vlastněná touto entitou (nebo její částí). Hodnota klíče cílové entity se vždy šíří z entity, do které patří.

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

Většina operací s vlastněnou entitou vyžaduje přístup k entitě 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 neexistuje žádná vlastnost s daným názvem, 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 neexistuje žádná vlastnost s daným názvem, přidá se nová vlastnost.

Pokud při přidávání nové vlastnosti existuje vlastnost se stejným názvem ve třídě entity, 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 neexistuje žádná vlastnost s daným názvem, přidá se nová vlastnost.

Pokud při přidávání nové vlastnosti existuje vlastnost se stejným názvem ve třídě entity, 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í hodnotu PropertyAccessMode tak, aby se používala pro všechny vlastnosti tohoto typu entity.

Ve výchozím nastavení se záložní pole, pokud je nalezeno konvencí 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ím této metody se toto chování změ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 tohoto typu entity 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 ReferenceCollectionBuilderBase)
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 ReferenceCollectionBuilderBase)

Metody rozšíření

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasConstraintName(CollectionOwnershipBuilder, String)

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

ToTable(CollectionOwnershipBuilder, String)

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

ToTable(CollectionOwnershipBuilder, String, String)

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

ForSqlServerIsMemoryOptimized(CollectionOwnershipBuilder, Boolean)

Nakonfiguruje tabulku, na kterou se entita mapuje, když cílí na SQL Server jako optimalizováno pro paměť.

Platí pro