Jazyk

QuerySqlGenerator Třída

Definice

Generátor dotazů SQL, který se má získat IRelationalCommand pro danou SelectExpression.

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

[System.Runtime.CompilerServices.Nullable(0)]
public class QuerySqlGenerator : Microsoft.EntityFrameworkCore.Query.SqlExpressionVisitor
[System.Runtime.CompilerServices.Nullable(0)]
public class QuerySqlGenerator : System.Linq.Expressions.ExpressionVisitor
public class QuerySqlGenerator : Microsoft.EntityFrameworkCore.Query.SqlExpressionVisitor
[<System.Runtime.CompilerServices.Nullable(0)>]
type QuerySqlGenerator = class
    inherit SqlExpressionVisitor
[<System.Runtime.CompilerServices.Nullable(0)>]
type QuerySqlGenerator = class
    inherit ExpressionVisitor
type QuerySqlGenerator = class
    inherit SqlExpressionVisitor
Public Class QuerySqlGenerator
Inherits SqlExpressionVisitor
Public Class QuerySqlGenerator
Inherits ExpressionVisitor
Dědičnost
Dědičnost
QuerySqlGenerator
Atributy

Konstruktory

Název Description
QuerySqlGenerator(QuerySqlGeneratorDependencies)

Generátor dotazů SQL, který se má získat IRelationalCommand pro danou SelectExpression.

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

Vlastnosti

Název Description
AliasSeparator

Výchozí oddělovač aliasů.

Dependencies

Závislosti specifické pro relačního zprostředkovatele pro tuto službu.

Sql

Aktuální tvůrce příkazů SQL.

Metody

Název Description
CheckComposableSql(String)

Zkontroluje, jestli je daný řetězec SQL kompozovatelný, tj. může být vložen jako poddotaz v rámci většího dotazu SQL.

CheckComposableSqlTrimmed(ReadOnlySpan<Char>)

Zkontroluje, jestli je daný řetězec SQL kompozovatelný, tj. může být vložen jako poddotaz v rámci většího dotazu SQL. Poskytnutá položka sql je již oříznuta pro prázdné znaky a komentáře.

GenerateEmptyProjection(SelectExpression)

Vygeneruje SQL pro prázdnou projekci výrazu SELECT. Obvykle se jedná o jeden 1 literál, ale lze ho přepsat pro zprostředkovatele, kteří vyžadují jiný formát.

GenerateExists(ExistsExpression, Boolean)

Generuje SQL pro výraz EXISTS.

GenerateFrom(SelectExpression)

Vygeneruje SQL pro klauzuli FROM daného výrazu SELECT.

GenerateIn(InExpression, Boolean)

Generuje SQL pro výraz IN.

GenerateLike(LikeExpression, Boolean)

Generuje SQL pro výraz LIKE.

GenerateLimitOffset(SelectExpression)

Generuje SQL pro klauzule LIMIT/OFFSET daného výrazu SELECT.

GenerateOperator(SqlBinaryExpression)
Zastaralé.

Vygeneruje operátor SQL pro binární operaci SQL.

GenerateOrderings(SelectExpression)

Generuje SQL pro klauzuli ORDER BY daného výrazu SELECT.

GenerateProjection(SelectExpression)

Generuje SQL pro projekční klauzuli daného výrazu SELECT.

GeneratePseudoFromClause()

Generuje SQL pro pseudo FROM klauzule. To vyžaduje někteří poskytovatelé, pokud dotaz nemá žádnou skutečnou klauzuli FROM.

GenerateRootCommand(Expression)

Vygeneruje příkaz pro daný výraz dotazu nejvyšší úrovně. To umožňuje poskytovatelům zachytit, pokud výraz vyžaduje jiné zpracování, když je na nejvyšší úrovni.

GenerateSetOperation(SetOperationBase)

Vygeneruje SQL pro operaci sady.

GenerateSetOperationOperand(SetOperationBase, SelectExpression)

Generuje SQL pro operand v rámci operace sady.

GenerateTagsHeaderComment(ISet<String>)

Vygeneruje hlavní komentář pro značky.

GenerateTagsHeaderComment(SelectExpression)
Zastaralé.

Vygeneruje hlavní komentář pro značky.

GenerateTop(SelectExpression)

Vygeneruje SQL pro top klauzuli daného výrazu SELECT.

GenerateValues(ValuesExpression)

Generuje SQL pro výraz VALUES.

GetCommand(Expression)

Získá relační příkaz pro výraz dotazu.

GetCommand(SelectExpression)

Získá relační příkaz pro .SelectExpression

GetOperator(SqlBinaryExpression)

Získá operátor SQL pro binární operaci SQL.

RequiresParentheses(SqlExpression, SqlExpression)

Vrátí logickou hodnotu označující, jestli se vnitřní výraz SQL musí při generování SQL pro vnější výraz SQL vložit do závorek.

TryGenerateWithoutWrappingSelect(SelectExpression)

Pokud je to možné, vygeneruje výraz obsažený v zadaném selectExpression výrazu bez zabalení SELECT. To lze provést pro operace sady a HODNOTY, které se mohou zobrazit jako příkazy nejvyšší úrovně, aniž by bylo nutné zabalit do select.

TryGetOperatorInfo(SqlExpression, Int32, Boolean)

Vrátí číselnou hodnotu představující prioritu daného expressionobjektu a také její asociativitu. Tyto ovládací prvky určují, jestli se kolem výrazu generují závorky.

VisitAtTimeZone(AtTimeZoneExpression)

Generuje SQL pro výraz AT TIME ZONE.

VisitCase(CaseExpression)

Vygeneruje SQL pro klauzuli CASE/WHEN konstruktor.

VisitCollate(CollateExpression)

Generuje SQL pro výraz COLLATE.

VisitColumn(ColumnExpression)

Vygeneruje SQL pro sloupec.

VisitCrossApply(CrossApplyExpression)

Generuje SQL pro křížové použití.

VisitCrossJoin(CrossJoinExpression)

Vygeneruje SQL pro křížové spojení.

VisitDelete(DeleteExpression)

Vygeneruje SQL pro výraz DELETE.

VisitDistinct(DistinctExpression)

Generuje SQL pro klauzuli DISTINCT () v agregační vyvolání funkce.

VisitExcept(ExceptExpression)

Vygeneruje SQL pro operaci s VÝJIMKOU sady.

VisitExists(ExistsExpression)

Generuje SQL pro výraz EXISTS.

VisitExtension(Expression)

Generátor dotazů SQL, který se má získat IRelationalCommand pro danou SelectExpression.

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

VisitExtension(Expression)

Generátor dotazů SQL, který se má získat IRelationalCommand pro danou SelectExpression.

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

(Zděděno od SqlExpressionVisitor)
VisitFromSql(FromSqlExpression)

Generuje SQL pro dotaz SQL zadaný uživatelem.

VisitFullJoin(FullJoinExpression)

Vygeneruje SQL pro úplné připojení.

VisitIn(InExpression)

Generuje SQL pro výraz IN.

VisitInnerJoin(InnerJoinExpression)

Generuje SQL pro vnitřní spojení.

VisitIntersect(IntersectExpression)

Generuje SQL pro operaci sady INTERSECT.

VisitJsonScalar(JsonScalarExpression)

Generuje SQL pro skalární vyhledávací výraz JSON.

VisitLeftJoin(LeftJoinExpression)

Vygeneruje SQL pro levé spojení.

VisitLike(LikeExpression)

Generuje SQL pro výraz LIKE.

VisitOrdering(OrderingExpression)

Generuje SQL pro jedno řazení v klauzuli SELECT ORDER BY.

VisitOuterApply(OuterApplyExpression)

Generuje SQL pro vnější použití.

VisitProjection(ProjectionExpression)

Generuje SQL pro jednu projekci ve výrazu SELECT.

VisitRightJoin(RightJoinExpression)

Vygeneruje SQL pro správné spojení.

VisitRowNumber(RowNumberExpression)

Vygeneruje JAZYK SQL pro výraz čísla řádku.

VisitRowValue(RowValueExpression)

Generuje SQL pro výraz hodnoty řádku.

VisitScalarSubquery(ScalarSubqueryExpression)

Generuje SQL pro skalární poddotaz.

VisitSelect(SelectExpression)

Generuje SQL pro výraz SELECT.

VisitSqlBinary(SqlBinaryExpression)

Generuje SQL pro binární výraz.

VisitSqlConstant(SqlConstantExpression)

Generuje SQL pro konstantu.

VisitSqlFragment(SqlFragmentExpression)

Generuje SQL pro libovolný fragment.

VisitSqlFunction(SqlFunctionExpression)

Generuje SQL pro vyvolání funkce.

VisitSqlParameter(SqlParameterExpression)

Vygeneruje SQL pro parametr.

VisitSqlUnary(SqlUnaryExpression)

Generuje SQL pro unární výraz.

VisitSubSelect(ScalarSubqueryExpression)

Generátor dotazů SQL, který se má získat IRelationalCommand pro danou SelectExpression.

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

VisitTable(TableExpression)

Vygeneruje SQL pro sloupec.

VisitTableValuedFunction(TableValuedFunctionExpression)

Generuje SQL pro vyvolání funkce s hodnotou tabulky.

VisitUnion(UnionExpression)

Vygeneruje SQL pro operaci union set.

VisitUpdate(UpdateExpression)

Generuje SQL pro výraz UPDATE.

VisitValues(ValuesExpression)

Generuje SQL pro výraz VALUES.

Platí pro