Udostępnij za pośrednictwem


QueryTypeBuilder Klasa

Definicja

Udostępnia prosty interfejs API do konfigurowania typu zapytania.

Wystąpienia tej klasy są zwracane z metod podczas korzystania z interfejsu ModelBuilder API i nie są przeznaczone do bezpośredniego konstruowania w kodzie aplikacji.

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

Konstruktory

QueryTypeBuilder(InternalEntityTypeBuilder)

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

Metadata

Konfigurowany typ zapytania.

Metody

HasAnnotation(String, Object)

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

HasBaseType(String)

Ustawia podstawowy typ tego typu zapytania w hierarchii dziedziczenia.

HasBaseType(Type)

Ustawia podstawowy typ tego typu zapytania w hierarchii dziedziczenia.

HasOne(String, String)

Konfiguruje relację, w której ten typ zapytania 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 zapytania ma odwołanie wskazujące pojedyncze wystąpienie innego typu w relacji.

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.

HasQueryFilter(LambdaExpression)

Określa wyrażenie predykatu LINQ, które będzie automatycznie stosowane do wszystkich zapytań przeznaczonych dla tego typu zapytania.

Ignore(String)

Wyklucza daną właściwość z typu zapytania. Ta metoda jest zwykle używana do usuwania właściwości z typu zapytania, który został dodany przez konwencję.

Property(String)

Zwraca obiekt, którego można użyć do skonfigurowania właściwości typu zapytania. 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 CLR lub pola w typie zapytania. Tego przeciążenia nie można użyć do dodania nowej właściwości stanu w tle.

Property(Type, String)

Zwraca obiekt, którego można użyć do skonfigurowania właściwości typu zapytania. 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 typu zapytania, zostanie ona dodana do modelu. Jeśli żadna właściwość nie istnieje w klasie typu zapytania, 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 typu zapytania. Bieżąca wartość właściwości jest przechowywana w ChangeTracker zamiast przechowywać w wystąpieniach klasy typu zapytania.

Property<TProperty>(String)

Zwraca obiekt, którego można użyć do skonfigurowania właściwości typu zapytania. 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 typu zapytania, zostanie ona dodana do modelu. Jeśli żadna właściwość nie istnieje w klasie typu zapytania, 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 typu zapytania. Bieżąca wartość właściwości jest przechowywana w ChangeTracker zamiast przechowywać w wystąpieniach klasy typu zapytania.

UsePropertyAccessMode(PropertyAccessMode)

Ustawia wartość PropertyAccessMode , która ma być używana dla wszystkich właściwości tego typu zapytania.

Domyślnie pole 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 zapytania zgodnie z opisem w wyliczeniem PropertyAccessMode .

Wywołanie tej metody zastępuje wszystkie właściwości tego typu zapytania dla dowolnego trybu dostępu ustawionego w modelu.

Jawne implementacje interfejsu

IInfrastructure<IMutableModel>.Instance

Model, do którego należy typ zapytania.

IInfrastructure<InternalEntityTypeBuilder>.Instance

Pobiera konstruktora wewnętrznego używanego do konfigurowania typu zapytania.

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.

HasDiscriminator(QueryTypeBuilder)

Konfiguruje kolumnę dyskryminującą używaną do identyfikowania typu zapytania każdego wiersza w tabeli, gdy hierarchia dziedziczenia jest mapowana na jedną tabelę w relacyjnej bazie danych.

HasDiscriminator(QueryTypeBuilder, String, Type)

Konfiguruje kolumnę dyskryminującą używaną do identyfikowania typu zapytania każdego wiersza w tabeli, gdy hierarchia dziedziczenia jest mapowana na jedną tabelę w relacyjnej bazie danych.

HasDiscriminator<TDiscriminator>(QueryTypeBuilder, String)

Konfiguruje kolumnę dyskryminującą używaną do identyfikowania typu zapytania każdego wiersza w tabeli, gdy hierarchia dziedziczenia jest mapowana na jedną tabelę w relacyjnej bazie danych.

ToView(QueryTypeBuilder, String)

Konfiguruje widok lub tabelę, do których widok jest mapowy podczas określania wartości docelowej relacyjnej bazy danych.

ToView(QueryTypeBuilder, String, String)

Konfiguruje widok lub tabelę, do których widok jest mapowy podczas określania wartości docelowej relacyjnej bazy danych.

Dotyczy