Sdílet prostřednictvím


QueryTypeBuilder Třída

Definice

Poskytuje jednoduché rozhraní API pro konfiguraci typu dotazu.

Instance této třídy se vrací z metod při použití ModelBuilder rozhraní API a není navržená tak, aby byla přímo sestavena v kódu aplikace.

public class QueryTypeBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
type QueryTypeBuilder = class
    interface IInfrastructure<IMutableModel>
    interface IInfrastructure<InternalEntityTypeBuilder>
Public Class QueryTypeBuilder
Implements IInfrastructure(Of IMutableModel), IInfrastructure(Of InternalEntityTypeBuilder)
Dědičnost
QueryTypeBuilder
Odvozené
Implementuje
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Konstruktory

QueryTypeBuilder(InternalEntityTypeBuilder)

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

Metadata

Typ dotazu, který se konfiguruje.

Metody

HasAnnotation(String, Object)

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

HasBaseType(String)

Nastaví základní typ tohoto typu dotazu v hierarchii dědičnosti.

HasBaseType(Type)

Nastaví základní typ tohoto typu dotazu v hierarchii dědičnosti.

HasOne(String, String)

Nakonfiguruje relaci, ve které má tento typ dotazu 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 dotazu odkaz, který odkazuje na jednu instanci druhého typu v relaci.

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.

HasQueryFilter(LambdaExpression)

Určuje výraz predikátu LINQ, který se automaticky použije u všech dotazů cílených na tento typ dotazu.

Ignore(String)

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

Property(String)

Vrátí objekt, který lze použít ke konfiguraci vlastnosti typu dotazu. 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 dotazu. 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 typu dotazu. Pokud žádná vlastnost s daným názvem neexistuje, přidá se nová vlastnost.

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

Property<TProperty>(String)

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

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

UsePropertyAccessMode(PropertyAccessMode)

Nastaví možnost PropertyAccessMode pro použití pro všechny vlastnosti tohoto typu dotazu.

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 dotazu, jak je popsáno ve výčtu PropertyAccessMode .

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

Explicitní implementace rozhraní

IInfrastructure<IMutableModel>.Instance

Model, do kterého typ dotazu patří.

IInfrastructure<InternalEntityTypeBuilder>.Instance

Získá interní tvůrce, který se používá ke konfiguraci typu dotazu.

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.

HasDiscriminator(QueryTypeBuilder)

Nakonfiguruje diskriminující sloupec používaný k identifikaci typu dotazu, který každý řádek tabulky představuje, když je hierarchie dědičnosti namapována na jednu tabulku v relační databázi.

HasDiscriminator(QueryTypeBuilder, String, Type)

Nakonfiguruje diskriminující sloupec používaný k identifikaci typu dotazu, který každý řádek tabulky představuje, když je hierarchie dědičnosti namapována na jednu tabulku v relační databázi.

HasDiscriminator<TDiscriminator>(QueryTypeBuilder, String)

Nakonfiguruje diskriminující sloupec používaný k identifikaci typu dotazu, který každý řádek tabulky představuje, když je hierarchie dědičnosti namapována na jednu tabulku v relační databázi.

ToView(QueryTypeBuilder, String)

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

ToView(QueryTypeBuilder, String, String)

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

Platí pro