QueryTypeBuilder Klasse

Definition

Stellt eine einfache API zum Konfigurieren eines Abfragetyps bereit.

Instanzen dieser Klasse werden von Methoden zurückgegeben, wenn die ModelBuilder API verwendet wird, und sie ist nicht für die direkte Erstellung im Anwendungscode konzipiert.

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)
Vererbung
QueryTypeBuilder
Abgeleitet
Implementiert
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Konstruktoren

QueryTypeBuilder(InternalEntityTypeBuilder)

Diese API unterstützt die Entity Framework Core-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. Diese API kann sich ändern oder in zukünftigen Releases entfernt werden.

Eigenschaften

Metadata

Der zu konfigurierende Abfragetyp.

Methoden

HasAnnotation(String, Object)

Fügt eine Anmerkung für den Abfragetyp hinzu oder aktualisiert sie. Wenn eine Anmerkung mit dem in annotation angegebenen Schlüssel bereits vorhanden ist, wird ihr Wert aktualisiert.

HasBaseType(String)

Legt den Basistyp dieses Abfragetyps in einer Vererbungshierarchie fest.

HasBaseType(Type)

Legt den Basistyp dieses Abfragetyps in einer Vererbungshierarchie fest.

HasOne(String, String)

Konfiguriert eine Beziehung, bei der dieser Abfragetyp über einen Verweis verfügt, der auf eine einzelne instance des anderen Typs in der Beziehung verweist.

Beachten Sie, dass das Aufrufen dieser Methode ohne Parameter explizit diese Seite der Beziehung so konfiguriert, dass keine Navigationseigenschaft verwendet wird, auch wenn eine solche Eigenschaft im Entitätstyp vorhanden ist. Wenn die Navigationseigenschaft verwendet werden soll, muss sie angegeben werden.

Nach dem Aufrufen dieser Methode sollten Sie einen Aufruf an WithMany(String) oder WithOne(String) verketten, um die Beziehung vollständig zu konfigurieren. Das Aufrufen dieser Methode ohne den verketteten Aufruf erzeugt keine gültige Beziehung.

HasOne(Type, String)

Konfiguriert eine Beziehung, bei der dieser Abfragetyp über einen Verweis verfügt, der auf eine einzelne instance des anderen Typs in der Beziehung verweist.

Nach dem Aufrufen dieser Methode sollten Sie einen Aufruf an WithMany(String) oder WithOne(String) verketten, um die Beziehung vollständig zu konfigurieren. Das Aufrufen dieser Methode ohne den verketteten Aufruf erzeugt keine gültige Beziehung.

HasQueryFilter(LambdaExpression)

Gibt einen LINQ-Prädikatausdruck an, der automatisch auf alle Abfragen angewendet wird, die auf diesen Abfragetyp abzielen.

Ignore(String)

Schließt die angegebene Eigenschaft vom Abfragetyp aus. Diese Methode wird in der Regel verwendet, um Eigenschaften aus dem Abfragetyp zu entfernen, die durch Konvention hinzugefügt wurden.

Property(String)

Gibt ein -Objekt zurück, das zum Konfigurieren einer Eigenschaft des Abfragetyps verwendet werden kann. Wenn keine Eigenschaft mit dem angegebenen Namen vorhanden ist, wird eine neue Eigenschaft hinzugefügt.

Beim Hinzufügen einer neuen Eigenschaft mit dieser Überladung muss der Eigenschaftenname mit dem Namen einer CLR-Eigenschaft oder eines CLR-Felds für den Abfragetyp übereinstimmen. Diese Überladung kann nicht verwendet werden, um eine neue Schattenzustandseigenschaft hinzuzufügen.

Property(Type, String)

Gibt ein -Objekt zurück, das zum Konfigurieren einer Eigenschaft des Abfragetyps verwendet werden kann. Wenn keine Eigenschaft mit dem angegebenen Namen vorhanden ist, wird eine neue Eigenschaft hinzugefügt.

Wenn beim Hinzufügen einer neuen Eigenschaft eine Eigenschaft mit demselben Namen in der Abfragetypklasse vorhanden ist, wird sie dem Modell hinzugefügt. Wenn in der Abfragetypklasse keine Eigenschaft vorhanden ist, wird eine neue Schattenzustandseigenschaft hinzugefügt. Eine Schattenzustandseigenschaft ist eine Eigenschaft, die keine entsprechende Eigenschaft in der Abfragetypklasse aufweist. Der aktuelle Wert für die -Eigenschaft wird in der ChangeTracker gespeichert, anstatt in Instanzen der Abfragetypklasse gespeichert zu werden.

Property<TProperty>(String)

Gibt ein -Objekt zurück, das zum Konfigurieren einer Eigenschaft des Abfragetyps verwendet werden kann. Wenn keine Eigenschaft mit dem angegebenen Namen vorhanden ist, wird eine neue Eigenschaft hinzugefügt.

Wenn beim Hinzufügen einer neuen Eigenschaft eine Eigenschaft mit demselben Namen in der Abfragetypklasse vorhanden ist, wird sie dem Modell hinzugefügt. Wenn in der Abfragetypklasse keine Eigenschaft vorhanden ist, wird eine neue Schattenzustandseigenschaft hinzugefügt. Eine Schattenzustandseigenschaft ist eine Eigenschaft, die keine entsprechende Eigenschaft in der Abfragetypklasse aufweist. Der aktuelle Wert für die -Eigenschaft wird in der ChangeTracker gespeichert, anstatt in Instanzen der Abfragetypklasse gespeichert zu werden.

UsePropertyAccessMode(PropertyAccessMode)

Legt fest, dass PropertyAccessMode für alle Eigenschaften dieses Abfragetyps verwendet werden soll.

Standardmäßig wird das Sicherungsfeld verwendet, wenn es gemäß konventionskonstruiert ist oder angegeben wurde, wenn neue Objekte erstellt werden, in der Regel, wenn Entitäten aus der Datenbank abgefragt werden. Eigenschaften werden für alle anderen Zugriffe verwendet. Wenn Sie diese Methode aufrufen, ändert sich dieses Verhalten für alle Eigenschaften dieses Abfragetyps, wie in der PropertyAccessMode Enumeration beschrieben.

Beim Aufrufen dieser Methode wird für alle Eigenschaften dieses Abfragetyps jeder Zugriffsmodus außer Kraft gesetzt, der für das Modell festgelegt wurde.

Explizite Schnittstellenimplementierungen

IInfrastructure<IMutableModel>.Instance

Das Modell, zu dem der Abfragetyp gehört.

IInfrastructure<InternalEntityTypeBuilder>.Instance

Ruft den internen Generator ab, der zum Konfigurieren des Abfragetyps verwendet wird.

Erweiterungsmethoden

GetInfrastructure<T>(IInfrastructure<T>)

Ruft den Wert aus einer Eigenschaft ab, die mit IInfrastructure<T>ausgeblendet wird.

Diese Methode wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Es wird in der Regel nicht im Anwendungscode verwendet.

HasDiscriminator(QueryTypeBuilder)

Konfiguriert die Diskriminatorspalte, mit der identifiziert wird, welcher Abfragetyp jede Zeile in einer Tabelle darstellt, wenn eine Vererbungshierarchie einer einzelnen Tabelle in einer relationalen Datenbank zugeordnet wird.

HasDiscriminator(QueryTypeBuilder, String, Type)

Konfiguriert die Diskriminatorspalte, mit der identifiziert wird, welcher Abfragetyp jede Zeile in einer Tabelle darstellt, wenn eine Vererbungshierarchie einer einzelnen Tabelle in einer relationalen Datenbank zugeordnet wird.

HasDiscriminator<TDiscriminator>(QueryTypeBuilder, String)

Konfiguriert die Diskriminatorspalte, mit der identifiziert wird, welcher Abfragetyp jede Zeile in einer Tabelle darstellt, wenn eine Vererbungshierarchie einer einzelnen Tabelle in einer relationalen Datenbank zugeordnet wird.

ToView(QueryTypeBuilder, String)

Konfiguriert die Ansicht oder Tabelle, der die Ansicht zugeordnet ist, wenn eine relationale Datenbank als Ziel verwendet wird.

ToView(QueryTypeBuilder, String, String)

Konfiguriert die Ansicht oder Tabelle, der die Ansicht zugeordnet ist, wenn eine relationale Datenbank als Ziel verwendet wird.

Gilt für: