Lingua

QuerySqlGenerator Classe

Definizione

Generatore SQL di query per ottenere IRelationalCommand un determinato SelectExpressionoggetto .

Questo tipo viene in genere usato dai provider di database (e da altre estensioni). In genere non viene usato nel codice dell'applicazione.

[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
Ereditarietà
Ereditarietà
QuerySqlGenerator
Attributi

Costruttori

Nome Descrizione
QuerySqlGenerator(QuerySqlGeneratorDependencies)

Generatore SQL di query per ottenere IRelationalCommand un determinato SelectExpressionoggetto .

Questo tipo viene in genere usato dai provider di database (e da altre estensioni). In genere non viene usato nel codice dell'applicazione.

Proprietà

Nome Descrizione
AliasSeparator

Separatore alias predefinito.

Dependencies

Dipendenze specifiche del provider relazionale per questo servizio.

Sql

Generatore di comandi SQL corrente.

Metodi

Nome Descrizione
CheckComposableSql(String)

Controlla se una determinata stringa SQL è componibile, ovvero può essere incorporata come sottoquery all'interno di una query SQL più grande.

CheckComposableSqlTrimmed(ReadOnlySpan<Char>)

Controlla se una determinata stringa SQL è componibile, ovvero può essere incorporata come sottoquery all'interno di una query SQL più grande. L'oggetto specificato sql è già stato tagliato per gli spazi vuoti e i commenti.

GenerateEmptyProjection(SelectExpression)

Genera SQL per una proiezione vuota per un'espressione SELECT. Si tratta in genere di un singolo 1 valore letterale, ma può essere sottoposto a override per i provider che richiedono un formato diverso.

GenerateExists(ExistsExpression, Boolean)

Genera SQL per un'espressione EXISTS.

GenerateFrom(SelectExpression)

Genera SQL per la clausola FROM dell'espressione SELECT specificata.

GenerateIn(InExpression, Boolean)

Genera SQL per un'espressione IN.

GenerateLike(LikeExpression, Boolean)

Genera SQL per l'espressione LIKE.

GenerateLimitOffset(SelectExpression)

Genera SQL per le clausole LIMIT/OFFSET dell'espressione SELECT specificata.

GenerateOperator(SqlBinaryExpression)
Obsoleti.

Genera un operatore SQL per un'operazione binaria SQL.

GenerateOrderings(SelectExpression)

Genera SQL per la clausola ORDER BY dell'espressione SELECT specificata.

GenerateProjection(SelectExpression)

Genera SQL per la clausola di proiezione dell'espressione SELECT specificata.

GeneratePseudoFromClause()

Genera SQL per una pseudo clausola FROM. Questa operazione è richiesta da alcuni provider quando una query non dispone di una clausola FROM effettiva.

GenerateRootCommand(Expression)

Genera il comando per l'espressione di query di primo livello specificata. In questo modo i provider possono intercettare se un'espressione richiede un'elaborazione diversa quando è di livello superiore.

GenerateSetOperation(SetOperationBase)

Genera SQL per un'operazione set.

GenerateSetOperationOperand(SetOperationBase, SelectExpression)

Genera SQL per un operando all'interno di un'operazione set.

GenerateTagsHeaderComment(ISet<String>)

Genera il commento head per i tag.

GenerateTagsHeaderComment(SelectExpression)
Obsoleti.

Genera il commento head per i tag.

GenerateTop(SelectExpression)

Genera SQL per la clausola TOP dell'espressione SELECT specificata.

GenerateValues(ValuesExpression)

Genera SQL per un'espressione VALUES.

GetCommand(Expression)

Ottiene un comando relazionale per un'espressione di query.

GetCommand(SelectExpression)

Ottiene un comando relazionale per un oggetto SelectExpression.

GetOperator(SqlBinaryExpression)

Ottiene l'operatore SQL per un'operazione binaria SQL.

RequiresParentheses(SqlExpression, SqlExpression)

Restituisce un valore bool che indica se l'espressione SQL interna deve essere inserita tra parentesi durante la generazione di SQL per l'espressione SQL esterna.

TryGenerateWithoutWrappingSelect(SelectExpression)

Se possibile, genera l'espressione contenuta all'interno dell'oggetto fornito selectExpression senza il wrapping SELECT. Questa operazione può essere eseguita per le operazioni set e VALUES, che possono essere visualizzate come istruzioni di primo livello senza che sia necessario eseguire il wrapping in SELECT.

TryGetOperatorInfo(SqlExpression, Int32, Boolean)

Restituisce un valore numerico che rappresenta la precedenza dell'oggetto specificato expression, nonché la relativa associatività. Questi controllano se le parentesi vengono generate intorno all'espressione.

VisitAtTimeZone(AtTimeZoneExpression)

Genera SQL per un'espressione AT TIME ZONE.

VisitCase(CaseExpression)

Genera SQL per un costrutto CASE/WHEN della clausola CASE.

VisitCollate(CollateExpression)

Genera SQL per un'espressione COLLATE.

VisitColumn(ColumnExpression)

Genera SQL per una colonna.

VisitCrossApply(CrossApplyExpression)

Genera SQL per un'applicazione incrociata.

VisitCrossJoin(CrossJoinExpression)

Genera SQL per un cross join.

VisitDelete(DeleteExpression)

Genera SQL per un'espressione DELETE

VisitDistinct(DistinctExpression)

Genera SQL per una clausola DISTINCT () in una chiamata di funzione di aggregazione.

VisitExcept(ExceptExpression)

Genera SQL per un'operazione di set EXCEPT.

VisitExists(ExistsExpression)

Genera SQL per un'espressione EXISTS.

VisitExtension(Expression)

Generatore SQL di query per ottenere IRelationalCommand un determinato SelectExpressionoggetto .

Questo tipo viene in genere usato dai provider di database (e da altre estensioni). In genere non viene usato nel codice dell'applicazione.

VisitExtension(Expression)

Generatore SQL di query per ottenere IRelationalCommand un determinato SelectExpressionoggetto .

Questo tipo viene in genere usato dai provider di database (e da altre estensioni). In genere non viene usato nel codice dell'applicazione.

(Ereditato da SqlExpressionVisitor)
VisitFromSql(FromSqlExpression)

Genera SQL per una query SQL fornita dall'utente.

VisitFullJoin(FullJoinExpression)

Genera SQL per un join completo.

VisitIn(InExpression)

Genera SQL per un'espressione IN.

VisitInnerJoin(InnerJoinExpression)

Genera SQL per un inner join.

VisitIntersect(IntersectExpression)

Genera SQL per un'operazione di set INTERSECT.

VisitJsonScalar(JsonScalarExpression)

Genera SQL per un'espressione di ricerca scalare JSON.

VisitLeftJoin(LeftJoinExpression)

Genera SQL per un left join.

VisitLike(LikeExpression)

Genera SQL per un'espressione LIKE.

VisitOrdering(OrderingExpression)

Genera SQL per un singolo ordinamento in una clausola SELECT ORDER BY.

VisitOuterApply(OuterApplyExpression)

Genera SQL per un'applicazione esterna.

VisitProjection(ProjectionExpression)

Genera SQL per una singola proiezione in un'espressione SELECT.

VisitRightJoin(RightJoinExpression)

Genera SQL per un join corretto.

VisitRowNumber(RowNumberExpression)

Genera SQL per un'espressione di numero di riga.

VisitRowValue(RowValueExpression)

Genera SQL per un'espressione di valore di riga.

VisitScalarSubquery(ScalarSubqueryExpression)

Genera SQL per una sottoquery scalare.

VisitSelect(SelectExpression)

Genera SQL per un'espressione SELECT.

VisitSqlBinary(SqlBinaryExpression)

Genera SQL per un'espressione binaria.

VisitSqlConstant(SqlConstantExpression)

Genera SQL per una costante.

VisitSqlFragment(SqlFragmentExpression)

Genera SQL per un frammento arbitrario.

VisitSqlFunction(SqlFunctionExpression)

Genera SQL per una chiamata di funzione.

VisitSqlParameter(SqlParameterExpression)

Genera SQL per un parametro.

VisitSqlUnary(SqlUnaryExpression)

Genera SQL per un'espressione unaria.

VisitSubSelect(ScalarSubqueryExpression)

Generatore SQL di query per ottenere IRelationalCommand un determinato SelectExpressionoggetto .

Questo tipo viene in genere usato dai provider di database (e da altre estensioni). In genere non viene usato nel codice dell'applicazione.

VisitTable(TableExpression)

Genera SQL per una colonna.

VisitTableValuedFunction(TableValuedFunctionExpression)

Genera SQL per una chiamata di funzione con valori di tabella.

VisitUnion(UnionExpression)

Genera SQL per un'operazione union set.

VisitUpdate(UpdateExpression)

Genera SQL per un'espressione UPDATE.

VisitValues(ValuesExpression)

Genera SQL per un'espressione VALUES.

Si applica a