Freigeben über


SelectExpression Klasse

Definition

Ein Ausdruck, der ein SELECT in einer SQL-Struktur darstellt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Es wird im Allgemeinen nicht im Anwendungscode verwendet.

public class SelectExpression : Microsoft.EntityFrameworkCore.Query.SqlExpressions.TableExpressionBase
public sealed class SelectExpression : Microsoft.EntityFrameworkCore.Query.SqlExpressions.TableExpressionBase
[System.Diagnostics.DebuggerDisplay("{PrintShortSql(), nq}")]
public sealed class SelectExpression : Microsoft.EntityFrameworkCore.Query.SqlExpressions.TableExpressionBase
type SelectExpression = class
    inherit TableExpressionBase
[<System.Diagnostics.DebuggerDisplay("{PrintShortSql(), nq}")>]
type SelectExpression = class
    inherit TableExpressionBase
Public Class SelectExpression
Inherits TableExpressionBase
Public NotInheritable Class SelectExpression
Inherits TableExpressionBase
Vererbung
SelectExpression
Attribute

Hinweise

Diese Klasse ist nicht öffentlich konstruierbar. Wenn dies ein Problem für Ihre Anwendung oder Ihren Anbieter ist, melden Sie bitte ein Problem unter github.com/dotnet/efcore.

Konstruktoren

SelectExpression(JsonQueryExpression, TableExpressionBase, String, Type, RelationalTypeMapping)

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne Vorankündigung in einer Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt im Code verwenden und wissen, dass dies beim Aktualisieren auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

SelectExpression(TableExpressionBase, String, Type, RelationalTypeMapping, Nullable<Boolean>, String, Type, RelationalTypeMapping)

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne Vorankündigung in einer Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt im Code verwenden und wissen, dass dies beim Aktualisieren auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

Eigenschaften

Alias

Der Dieser Tabellenquelle zugewiesene Alias.

(Geerbt von TableExpressionBase)
DebugView

Erweitern Sie diese Eigenschaft im Debugger, um eine lesbare Darstellung dieses zu erhalten SelectExpression.

Warnung: Verlassen Sie sich nicht auf das Format der Debugzeichenfolgen. Sie sind nur für das Debuggen konzipiert und können sich zwischen Releases beliebig ändern.

GroupBy

Die SQL GROUP BY-Klausel für select.

Having

Das HAVING-Prädikat für die SELECT when GroupBy exists-Klausel.

IsDistinct

Ein Bool-Wert, der angibt, ob DISTINCT auf die Projektion dieses SelectExpressionangewendet wird.

Limit

Der Grenzwert, der auf die Anzahl der Zeilen im Resultset angewendet wird.

NodeType

Ein Ausdruck, der ein SELECT in einer SQL-Struktur darstellt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Es wird im Allgemeinen nicht im Anwendungscode verwendet.

(Geerbt von TableExpressionBase)
Offset

Der Offset zum Überspringen von Zeilen aus dem Resultset.

Orderings

Die Liste der Reihenfolgen, die zum Sortieren des Resultsets verwendet werden.

Predicate

Das WHERE-Prädikat für select.

Projection

Die Liste der Ausdrücke, die aus dem Resultset projiziert werden.

Tables

Die Liste der Tabellenquellen, die zum Generieren des Resultsets verwendet werden.

Tags

Die Liste der Tags, die auf diesen SelectExpressionangewendet werden.

Type

Ein Ausdruck, der ein SELECT in einer SQL-Struktur darstellt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Es wird im Allgemeinen nicht im Anwendungscode verwendet.

(Geerbt von TableExpressionBase)

Methoden

AddAnnotation(String, Object)

Fügt diesem Objekt eine Anmerkung hinzu. Wird ausgelöst, wenn bereits eine Anmerkung mit dem angegebenen Namen vorhanden ist.

AddAnnotation(String, Object)

Fügt diesem Objekt eine Anmerkung hinzu. Wird ausgelöst, wenn bereits eine Anmerkung mit dem angegebenen Namen vorhanden ist.

(Geerbt von TableExpressionBase)
AddCollectionProjection(ShapedQueryExpression, INavigation, Type)

Ein Ausdruck, der ein SELECT in einer SQL-Struktur darstellt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Es wird im Allgemeinen nicht im Anwendungscode verwendet.

AddCollectionProjection(ShapedQueryExpression, INavigationBase, Type)

Fügt der Projektion von SelectExpressioneine Auflistung hinzu.

AddCrossApply(SelectExpression)

Fügt das angegebene SelectExpression mithilfe von CROSS APPLY zu Tabellenquellen hinzu.

AddCrossApply(SelectExpression, Type)
Veraltet.

Fügt das angegebene SelectExpression mithilfe von CROSS APPLY zu Tabellenquellen hinzu.

AddCrossApply(ShapedQueryExpression, Expression)

Fügt den Abfrageausdruck der angegebenen ShapedQueryExpression Tabellenquellen mithilfe von CROSS APPLY hinzu, und kombinieren Sie Shaper.

AddCrossJoin(SelectExpression)

Fügt das angegebene SelectExpression mithilfe von CROSS JOIN zu Tabellenquellen hinzu.

AddCrossJoin(SelectExpression, Type)
Veraltet.

Fügt das angegebene SelectExpression mithilfe von CROSS JOIN zu Tabellenquellen hinzu.

AddCrossJoin(ShapedQueryExpression, Expression)

Fügt den Abfrageausdruck der angegebenen ShapedQueryExpression Tabellenquellen mithilfe von CROSS JOIN hinzu und kombiniert Shaper.

AddInnerJoin(SelectExpression, SqlExpression)

Fügt das angegebene SelectExpression mithilfe von INNER JOIN zu Tabellenquellen hinzu.

AddInnerJoin(SelectExpression, SqlExpression, Type)
Veraltet.

Fügt das angegebene SelectExpression mithilfe von INNER JOIN zu Tabellenquellen hinzu.

AddInnerJoin(ShapedQueryExpression, SqlExpression, Expression)

Fügt den Abfrageausdruck des angegebenen ShapedQueryExpression tabellenquellen mithilfe von INNER JOIN und Kombinieren von Shapern hinzu.

AddLeftJoin(SelectExpression, SqlExpression)

Fügt das angegebene SelectExpression mithilfe von LEFT JOIN zu Tabellenquellen hinzu.

AddLeftJoin(SelectExpression, SqlExpression, Type)
Veraltet.

Fügt das angegebene SelectExpression mithilfe von LEFT JOIN zu Tabellenquellen hinzu.

AddLeftJoin(ShapedQueryExpression, SqlExpression, Expression)

Fügt den Abfrageausdruck der angegebenen ShapedQueryExpression Tabellenquellen mithilfe von LEFT JOIN hinzu und kombiniert Shaper.

AddOuterApply(SelectExpression)

Fügt das angegebene SelectExpression mithilfe von OUTER APPLY zu Tabellenquellen hinzu.

AddOuterApply(SelectExpression, Type)
Veraltet.

Fügt das angegebene SelectExpression mithilfe von OUTER APPLY zu Tabellenquellen hinzu.

AddOuterApply(ShapedQueryExpression, Expression)

Fügt den Abfrageausdruck der angegebenen ShapedQueryExpression Tabellenquellen mithilfe von OUTER APPLY hinzu, und kombinieren Sie Shaper.

AddSingleProjection(ShapedQueryExpression)

Fügt der Projektion von ein nicht skalares einzelnes SelectExpressionErgebnis hinzu.

AddToProjection(EntityProjectionExpression)

Fügt der Projektion hinzu EntityProjectionExpression .

AddToProjection(SqlExpression)

Fügt der Projektion hinzu SqlExpression .

AppendOrdering(OrderingExpression)

Fügt die Reihenfolge an die vorhandenen Reihenfolgen von an SelectExpression.

ApplyCollectionJoin(Int32, Int32, Expression, INavigation, Type)

Ein Ausdruck, der ein SELECT in einer SQL-Struktur darstellt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Es wird im Allgemeinen nicht im Anwendungscode verwendet.

ApplyCollectionJoin(Int32, Int32, Expression, INavigationBase, Type, Boolean)

Wendet eine zuvor hinzugefügte Auflistungsprojektion an.

ApplyDefaultIfEmpty(ISqlExpressionFactory)

Gilt für DefaultIfEmpty<TSource>(IQueryable<TSource>) .SelectExpression

ApplyDistinct()

Wendet den DISTINCT-Operator auf die Projektionen von an SelectExpression.

ApplyExcept(SelectExpression, Boolean)

Wendet den EXCEPT-Vorgang auf den SelectExpressionan.

ApplyGrouping(Expression)

Wendet die Gruppierung aus dem angegebenen Schlüsselauswahlgeber an.

ApplyGrouping(Expression, Expression, ISqlExpressionFactory)

Wendet die Gruppierung aus dem angegebenen Schlüsselelektor an und generiert RelationalGroupByShaperExpression auf Formergebnisse.

ApplyIntersect(SelectExpression, Boolean)

Wendet den INTERSECT-Vorgang auf den SelectExpressionan.

ApplyLimit(SqlExpression)

Wendet das Limit auf das SelectExpression an, um die Anzahl der im Resultset zurückgegebenen Zeilen zu begrenzen.

ApplyOffset(SqlExpression)

Wendet offset auf das SelectExpression an, um die Anzahl der Zeilen im Resultset zu überspringen.

ApplyOrdering(OrderingExpression)

Wendet die Reihenfolge auf an SelectExpression. Dadurch werden alle zuvor angegebenen Reihenfolgen überschrieben.

ApplyPredicate(SqlExpression)

Wendet das Filter-Prädikat auf an SelectExpression.

ApplyProjection()

Fügt Ausdrücke aus der Projektionszuordnung zur Projektion hinzu, wobei der Shaperausdruck ignoriert wird. Diese Methode sollte nur beim Auffüllen der Projektion in der Unterabfrage verwendet werden.

ApplyProjection(Expression, ResultCardinality, QuerySplittingBehavior)

Fügt Ausdrücke aus der Projektionszuordnung zur Projektion hinzu und generiert einen aktualisierten Shaperausdruck für die Materialisierung.

ApplyTags(ISet<String>)

Wendet einen bestimmten Satz von Tags an.

ApplyUnion(SelectExpression, Boolean)

Wendet den UNION-Vorgang auf den SelectExpressionan.

AssignUniqueAliases(SqlExpression)

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne Vorankündigung in einer Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt im Code verwenden und wissen, dass dies beim Aktualisieren auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

ClearOrdering()

Löscht vorhandene Reihenfolgen.

ClearProjection()
Veraltet.

Löscht alle vorhandenen Projektionen.

Clone()

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne Vorankündigung in einer Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt im Code verwenden und wissen, dass dies beim Aktualisieren auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

CreateColumnExpression(TableExpressionBase, String, Type, RelationalTypeMapping, Nullable<Boolean>)

Erstellt eine ColumnExpression , die auf eine Tabelle in diesem SelectExpressionverweist.

CreateWithAnnotations(IEnumerable<IAnnotation>)

Erstellt ein Objekt wie dieses mit angegebenen Anmerkungen.

(Geerbt von TableExpressionBase)
Equals(Object)

Ein Ausdruck, der ein SELECT in einer SQL-Struktur darstellt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Es wird im Allgemeinen nicht im Anwendungscode verwendet.

FindAnnotation(String)

Ruft die Anmerkung mit dem angegebenen Namen ab und gibt zurück null , wenn sie nicht vorhanden ist.

FindAnnotation(String)

Ruft die Anmerkung mit dem angegebenen Namen ab und gibt zurück null , wenn sie nicht vorhanden ist.

(Geerbt von TableExpressionBase)
GenerateComplexPropertyShaperExpression(StructuralTypeProjectionExpression, IComplexProperty)

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne Vorankündigung in einer Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt im Code verwenden und wissen, dass dies beim Aktualisieren auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

GenerateOwnedReferenceEntityProjectionExpression(EntityProjectionExpression, INavigation, ISqlExpressionFactory)

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne Vorankündigung in einer Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt im Code verwenden und wissen, dass dies beim Aktualisieren auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

GenerateOwnedReferenceEntityProjectionExpression(StructuralTypeProjectionExpression, INavigation, ISqlExpressionFactory)

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne Vorankündigung in einer Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt im Code verwenden und wissen, dass dies beim Aktualisieren auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

GenerateWeakEntityProjectionExpression(IEntityType, ITableBase, String, TableExpressionBase, Boolean)

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne Vorankündigung in einer Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt im Code verwenden und wissen, dass dies beim Aktualisieren auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

GetAnnotations()

Ruft alle Anmerkungen für das aktuelle Objekt ab.

GetAnnotations()

Ruft alle Anmerkungen für das aktuelle Objekt ab.

(Geerbt von TableExpressionBase)
GetHashCode()

Ein Ausdruck, der ein SELECT in einer SQL-Struktur darstellt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Es wird im Allgemeinen nicht im Anwendungscode verwendet.

GetMappedProjection(ProjectionMember)
Veraltet.

Ruft die Projektion ab, die dem angegebenen ProjectionMemberzugeordnet ist.

GetProjection(ProjectionBindingExpression)

Ruft die Projektion ab, die dem angegebenen ProjectionBindingExpressionzugeordnet ist.

IsNonComposedFromSql()

Überprüft, ob dies SelectExpression ein FromSqlExpression darstellt, auf dem nicht zusammengesetzt ist.

PrepareForAggregate()

Bereitet den vor, um den SelectExpression Aggregatvorgang darauf anzuwenden.

PrepareForAggregate(Boolean)

Bereitet den vor, um den SelectExpression Aggregatvorgang darauf anzuwenden.

Print(ExpressionPrinter)

Erstellt eine druckbare Zeichenfolgendarstellung des angegebenen Ausdrucks mithilfe ExpressionPrintervon .

Print(ExpressionPrinter)

Erstellt eine druckbare Zeichenfolgendarstellung des angegebenen Ausdrucks mithilfe ExpressionPrintervon .

(Geerbt von TableExpressionBase)
PrintAnnotations(ExpressionPrinter)

Erstellt eine druckbare Zeichenfolgendarstellung von Anmerkungen, die mit dem angegebenen Ausdruck ExpressionPrinterverknüpft sind.

(Geerbt von TableExpressionBase)
Prune()

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne Vorankündigung in einer Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt im Code verwenden und wissen, dass dies beim Aktualisieren auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

PushdownIntoSubquery()

Pusht die SelectExpression in eine Unterabfrage.

ReplaceProjection(IReadOnlyDictionary<ProjectionMember,Expression>)

Ersetzt die aktuelle Projektionszuordnung durch eine neue, um zu ändern, was aus diesem SelectExpressionprojiziert wird.

ReplaceProjection(IReadOnlyList<Expression>)

Ersetzt die aktuelle Projektionszuordnung durch eine neue, um zu ändern, was aus diesem SelectExpressionprojiziert wird.

ReplaceProjectionMapping(IDictionary<ProjectionMember,Expression>)
Veraltet.

Ersetzt die aktuelle Projektionszuordnung durch eine neue, um zu ändern, was aus diesem SelectExpressionprojiziert wird.

ReverseOrderings()

Kehrt die vorhandenen Reihenfolgen auf dem SelectExpressionum.

Update(IReadOnlyList<ProjectionExpression>, IReadOnlyList<TableExpressionBase>, SqlExpression, IReadOnlyList<SqlExpression>, SqlExpression, IReadOnlyList<OrderingExpression>, SqlExpression, SqlExpression)

Erstellt einen neuen Ausdruck, der diesem ähnelt, verwendet jedoch die angegebenen untergeordneten Elemente. Wenn alle untergeordneten Elemente identisch sind, wird dieser Ausdruck zurückgegeben.

Update(IReadOnlyList<ProjectionExpression>, IReadOnlyList<TableExpressionBase>, SqlExpression, IReadOnlyList<SqlExpression>, SqlExpression, IReadOnlyList<OrderingExpression>, SqlExpression, SqlExpression, Boolean, String)
Veraltet.

Erstellt einen neuen Ausdruck, der diesem ähnelt, verwendet jedoch die angegebenen untergeordneten Elemente. Wenn alle untergeordneten Elemente identisch sind, wird dieser Ausdruck zurückgegeben.

Update(List<ProjectionExpression>, List<TableExpressionBase>, SqlExpression, List<SqlExpression>, SqlExpression, List<OrderingExpression>, SqlExpression, SqlExpression)

Erstellt einen neuen Ausdruck, der diesem ähnelt, verwendet jedoch die angegebenen untergeordneten Elemente. Wenn alle untergeordneten Elemente identisch sind, wird dieser Ausdruck zurückgegeben.

Update(List<ProjectionExpression>, List<TableExpressionBase>, SqlExpression, List<SqlExpression>, SqlExpression, List<OrderingExpression>, SqlExpression, SqlExpression, Boolean, String)
Veraltet.

Erstellt einen neuen Ausdruck, der diesem ähnelt, verwendet jedoch die angegebenen untergeordneten Elemente. Wenn alle untergeordneten Elemente identisch sind, wird dieser Ausdruck zurückgegeben.

VisitChildren(ExpressionVisitor)

Ein Ausdruck, der ein SELECT in einer SQL-Struktur darstellt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Es wird im Allgemeinen nicht im Anwendungscode verwendet.

VisitChildren(ExpressionVisitor)

Ein Ausdruck, der ein SELECT in einer SQL-Struktur darstellt.

Dieser Typ wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Es wird im Allgemeinen nicht im Anwendungscode verwendet.

(Geerbt von TableExpressionBase)

Explizite Schnittstellenimplementierungen

IPrintableExpression.Print(ExpressionPrinter)

Erstellt eine druckbare Zeichenfolgendarstellung des angegebenen Ausdrucks mithilfe ExpressionPrintervon .

(Geerbt von TableExpressionBase)

Erweiterungsmethoden

UnwrapJoin(TableExpressionBase)

Wenn die angegebene table ein JoinExpressionBaseist, gibt die Tabelle zurück, in die sie eingebunden wird. Andernfalls wird tablezurückgegeben.

Gilt für: