Sdílet prostřednictvím


SelectExpression Třída

Definice

Výraz, který představuje SELECT ve stromu SQL.

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

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
Dědičnost
SelectExpression
Atributy

Poznámky

Tato třída není veřejně sestavitelná. Pokud se jedná o problém vaší aplikace nebo poskytovatele, zapište problém na github.com/dotnet/efcore.

Konstruktory

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

Toto je interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez předchozího upozornění v jakékoli verzi. Měli byste ho používat přímo v kódu pouze s extrémní opatrností a s vědomím, že to může vést k selhání aplikací při aktualizaci na novou verzi Entity Framework Core.

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

Toto je interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez předchozího upozornění v jakékoli verzi. Měli byste ho používat přímo v kódu pouze s extrémní opatrností a s vědomím, že to může vést k selhání aplikací při aktualizaci na novou verzi Entity Framework Core.

Vlastnosti

Alias

Alias přiřazený k tomuto zdroji tabulky.

(Zděděno od TableExpressionBase)
DebugView

Rozbalte tuto vlastnost v ladicím programu, aby byl tento SelectExpressionobjekt čitelný pro člověka.

Upozornění: Nespoléhejte na formát řetězců ladění. Jsou určené pouze pro ladění a mezi verzemi se můžou libovolně měnit.

GroupBy

Klauzule SQL GROUP BY pro SELECT.

Having

Predikát HAVING pro klauzuli SELECT when GroupBy existuje.

IsDistinct

Logická hodnota označující, jestli je funkce DISTINCT použita pro projekci tohoto SelectExpressionparametru .

Limit

Limit použitý na počet řádků v sadě výsledků.

NodeType

Výraz, který představuje SELECT ve stromu SQL.

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

(Zděděno od TableExpressionBase)
Offset

Posun, který přeskočí řádky ze sady výsledků.

Orderings

Seznam řazení použitých k řazení sady výsledků.

Predicate

Predikát WHERE pro select.

Projection

Seznam výrazů, které se promítají ze sady výsledků.

Tables

Seznam zdrojů tabulek použitých k vygenerování sady výsledků.

Tags

Seznam značek použitých pro tento SelectExpression.

Type

Výraz, který představuje SELECT ve stromu SQL.

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

(Zděděno od TableExpressionBase)

Metody

AddAnnotation(String, Object)

Přidá poznámku k tomuto objektu. Vyvolá, pokud již existuje poznámka se zadaným názvem.

AddAnnotation(String, Object)

Přidá poznámku k tomuto objektu. Vyvolá, pokud již existuje poznámka se zadaným názvem.

(Zděděno od TableExpressionBase)
AddCollectionProjection(ShapedQueryExpression, INavigation, Type)

Výraz, který představuje SELECT ve stromu SQL.

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

AddCollectionProjection(ShapedQueryExpression, INavigationBase, Type)

Přidá kolekci do projekce objektu SelectExpression.

AddCrossApply(SelectExpression)

Přidá danou hodnotu SelectExpression do zdrojů tabulky pomocí příkazu CROSS APPLY.

AddCrossApply(SelectExpression, Type)
Zastaralé.

Přidá danou hodnotu SelectExpression do zdrojů tabulky pomocí příkazu CROSS APPLY.

AddCrossApply(ShapedQueryExpression, Expression)

Přidá výraz dotazu daného ShapedQueryExpression objektu do zdrojů tabulek pomocí příkazu CROSS APPLY a zkombinuje tvarovače.

AddCrossJoin(SelectExpression)

Přidá danou hodnotu SelectExpression do zdrojů tabulky pomocí funkce CROSS JOIN.

AddCrossJoin(SelectExpression, Type)
Zastaralé.

Přidá danou hodnotu SelectExpression do zdrojů tabulky pomocí funkce CROSS JOIN.

AddCrossJoin(ShapedQueryExpression, Expression)

Přidá výraz dotazu daného ShapedQueryExpression objektu do zdrojů tabulky pomocí funkce KŘÍŽOVÉ SPOJENÍ a zkombinuje tvarovače.

AddInnerJoin(SelectExpression, SqlExpression)

Přidá danou hodnotu SelectExpression do zdrojů tabulky pomocí funkce INNER JOIN.

AddInnerJoin(SelectExpression, SqlExpression, Type)
Zastaralé.

Přidá danou hodnotu SelectExpression do zdrojů tabulky pomocí funkce INNER JOIN.

AddInnerJoin(ShapedQueryExpression, SqlExpression, Expression)

Přidá výraz dotazu daného ShapedQueryExpression objektu do zdrojů tabulky pomocí funkce INNER JOIN a zkombinuje tvarovače.

AddLeftJoin(SelectExpression, SqlExpression)

Přidá danou hodnotu SelectExpression do zdrojů tabulky pomocí funkce LEFT JOIN.

AddLeftJoin(SelectExpression, SqlExpression, Type)
Zastaralé.

Přidá danou hodnotu SelectExpression do zdrojů tabulky pomocí funkce LEFT JOIN.

AddLeftJoin(ShapedQueryExpression, SqlExpression, Expression)

Přidá výraz dotazu daného ShapedQueryExpression objektu do zdrojů tabulky pomocí funkce LEFT JOIN a zkombinuje tvarovače.

AddOuterApply(SelectExpression)

Přidá danou hodnotu SelectExpression do zdrojů tabulky pomocí funkce OUTER APPLY.

AddOuterApply(SelectExpression, Type)
Zastaralé.

Přidá danou hodnotu SelectExpression do zdrojů tabulky pomocí funkce OUTER APPLY.

AddOuterApply(ShapedQueryExpression, Expression)

Přidá výraz dotazu daného ShapedQueryExpression objektu do zdrojů tabulky pomocí funkce OUTER APPLY a zkombinuje tvarovače.

AddSingleProjection(ShapedQueryExpression)

Přidá nes skalární jeden výsledek do projekce SelectExpression.

AddToProjection(EntityProjectionExpression)

Přidá danou EntityProjectionExpression hodnotu do projekce.

AddToProjection(SqlExpression)

Přidá danou SqlExpression hodnotu do projekce.

AppendOrdering(OrderingExpression)

Připojí řazení k existujícím řazením objektu SelectExpression.

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

Výraz, který představuje SELECT ve stromu SQL.

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

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

Použije dříve přidanou projekci kolekce.

ApplyDefaultIfEmpty(ISqlExpressionFactory)

Platí pro DefaultIfEmpty<TSource>(IQueryable<TSource>)SelectExpression.

ApplyDistinct()

Použije operátor DISTINCT na projekce .SelectExpression

ApplyExcept(SelectExpression, Boolean)

Použije operaci EXCEPT na SelectExpression.

ApplyGrouping(Expression)

Použije seskupení z daného selektoru klíčů.

ApplyGrouping(Expression, Expression, ISqlExpressionFactory)

Použije seskupení z daného selektoru klíčů a vygeneruje RelationalGroupByShaperExpression na výsledky obrazce.

ApplyIntersect(SelectExpression, Boolean)

Použije operaci INTERSECT na SelectExpression.

ApplyLimit(SqlExpression)

Použije omezení pro SelectExpression omezení počtu řádků vrácených v sadě výsledků.

ApplyOffset(SqlExpression)

Použije posun na SelectExpression hodnotu a přeskočí počet řádků v sadě výsledků.

ApplyOrdering(OrderingExpression)

Použije řazení na .SelectExpression Tím se přepíše všechna předchozí zadaná pořadí.

ApplyPredicate(SqlExpression)

Použije predikát filtru na SelectExpression.

ApplyProjection()

Přidá výrazy z mapování projekce do projekce bez ohledu na výraz shaperu. Tato metoda by měla být použita pouze při naplnění projekce v poddotaz.

ApplyProjection(Expression, ResultCardinality, QuerySplittingBehavior)

Přidá výrazy z mapování projekce do projekce a vygeneruje aktualizovaný výraz shaperu pro materializaci.

ApplyTags(ISet<String>)

Použije danou sadu značek.

ApplyUnion(SelectExpression, Boolean)

Použije operaci UNION na SelectExpression.

AssignUniqueAliases(SqlExpression)

Toto je interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez předchozího upozornění v jakékoli verzi. Měli byste ho používat přímo v kódu pouze s extrémní opatrností a s vědomím, že to může vést k selhání aplikací při aktualizaci na novou verzi Entity Framework Core.

ClearOrdering()

Vymaže existující řazení.

ClearProjection()
Zastaralé.

Vymaže všechny existující projekce.

Clone()

Toto je interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez předchozího upozornění v jakékoli verzi. Měli byste ho používat přímo v kódu pouze s extrémní opatrností a s vědomím, že to může vést k selhání aplikací při aktualizaci na novou verzi Entity Framework Core.

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

Vytvoří odkaz ColumnExpression , který odkazuje na tabulku v tomto SelectExpressionobjektu .

CreateWithAnnotations(IEnumerable<IAnnotation>)

Vytvoří objekt podobný tomuto se zadanými poznámkami.

(Zděděno od TableExpressionBase)
Equals(Object)

Výraz, který představuje SELECT ve stromu SQL.

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

FindAnnotation(String)

Získá anotaci s daným názvem a vrátí null , pokud neexistuje.

FindAnnotation(String)

Získá anotaci s daným názvem a vrátí null , pokud neexistuje.

(Zděděno od TableExpressionBase)
GenerateComplexPropertyShaperExpression(StructuralTypeProjectionExpression, IComplexProperty)

Toto je interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez předchozího upozornění v jakékoli verzi. Měli byste ho používat přímo v kódu pouze s extrémní opatrností a s vědomím, že to může vést k selhání aplikací při aktualizaci na novou verzi Entity Framework Core.

GenerateOwnedReferenceEntityProjectionExpression(EntityProjectionExpression, INavigation, ISqlExpressionFactory)

Toto je interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez předchozího upozornění v jakékoli verzi. Měli byste ho používat přímo v kódu pouze s extrémní opatrností a s vědomím, že to může vést k selhání aplikací při aktualizaci na novou verzi Entity Framework Core.

GenerateOwnedReferenceEntityProjectionExpression(StructuralTypeProjectionExpression, INavigation, ISqlExpressionFactory)

Toto je interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez předchozího upozornění v jakékoli verzi. Měli byste ho používat přímo v kódu pouze s extrémní opatrností a s vědomím, že to může vést k selhání aplikací při aktualizaci na novou verzi Entity Framework Core.

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

Toto je interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez předchozího upozornění v jakékoli verzi. Měli byste ho používat přímo v kódu pouze s extrémní opatrností a s vědomím, že to může vést k selhání aplikací při aktualizaci na novou verzi Entity Framework Core.

GetAnnotations()

Získá všechny poznámky aktuální objekt.

GetAnnotations()

Získá všechny poznámky aktuální objekt.

(Zděděno od TableExpressionBase)
GetHashCode()

Výraz, který představuje SELECT ve stromu SQL.

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

GetMappedProjection(ProjectionMember)
Zastaralé.

Získá projekci mapovanou na danou ProjectionMember.

GetProjection(ProjectionBindingExpression)

Získá projekci mapovanou na danou ProjectionBindingExpression.

IsNonComposedFromSql()

Zkontroluje, jestli se jedná SelectExpression o FromSqlExpression objekt, který není složen z.

PrepareForAggregate()

Připraví nástroj na SelectExpression použití agregační operace.

PrepareForAggregate(Boolean)

Připraví nástroj na SelectExpression použití agregační operace.

Print(ExpressionPrinter)

Vytvoří tisknutelnou řetězcovou reprezentaci daného výrazu pomocí ExpressionPrinter.

Print(ExpressionPrinter)

Vytvoří tisknutelnou řetězcovou reprezentaci daného výrazu pomocí ExpressionPrinter.

(Zděděno od TableExpressionBase)
PrintAnnotations(ExpressionPrinter)

Vytvoří tisknutelnou řetězcovou reprezentaci poznámek přidružených k danému výrazu pomocí ExpressionPrinter.

(Zděděno od TableExpressionBase)
Prune()

Toto je interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez předchozího upozornění v jakékoli verzi. Měli byste ho používat přímo v kódu pouze s extrémní opatrností a s vědomím, že to může vést k selhání aplikací při aktualizaci na novou verzi Entity Framework Core.

PushdownIntoSubquery()

Nasdílí příkaz dolů SelectExpression do poddotazu.

ReplaceProjection(IReadOnlyDictionary<ProjectionMember,Expression>)

Nahradí aktuální mapování projekce novým mapováním, aby se změnilo, co se z tohoto SelectExpressionprojektu promítá.

ReplaceProjection(IReadOnlyList<Expression>)

Nahradí aktuální mapování projekce novým mapováním, aby se změnilo, co se z tohoto SelectExpressionprojektu promítá.

ReplaceProjectionMapping(IDictionary<ProjectionMember,Expression>)
Zastaralé.

Nahradí aktuální mapování projekce novým mapováním, aby se změnilo, co se z tohoto SelectExpressionprojektu promítá.

ReverseOrderings()

Vrátí stávající pořadí na SelectExpression.

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

Vytvoří nový výraz, který je podobný tomuto, ale používá zadané podřízené položky. Pokud jsou všechny podřízené položky stejné, vrátí tento výraz.

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

Vytvoří nový výraz, který je podobný tomuto, ale používá zadané podřízené položky. Pokud jsou všechny podřízené položky stejné, vrátí tento výraz.

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

Vytvoří nový výraz, který je podobný tomuto, ale používá zadané podřízené položky. Pokud jsou všechny podřízené položky stejné, vrátí tento výraz.

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

Vytvoří nový výraz, který je podobný tomuto, ale používá zadané podřízené položky. Pokud jsou všechny podřízené položky stejné, vrátí tento výraz.

VisitChildren(ExpressionVisitor)

Výraz, který představuje SELECT ve stromu SQL.

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

VisitChildren(ExpressionVisitor)

Výraz, který představuje SELECT ve stromu SQL.

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

(Zděděno od TableExpressionBase)

Explicitní implementace rozhraní

IPrintableExpression.Print(ExpressionPrinter)

Vytvoří tisknutelnou řetězcovou reprezentaci daného výrazu pomocí ExpressionPrinter.

(Zděděno od TableExpressionBase)

Metody rozšíření

UnwrapJoin(TableExpressionBase)

Pokud je JoinExpressionBasedaná hodnota table , vrátí tabulku, ke které se připojí. V opačném případě vrátí hodnotu table.

Platí pro