Condividi tramite


RelationalQueryableMethodTranslatingExpressionVisitor Classe

Definizione

Classe che converte i metodi querybili in una query.

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

public class RelationalQueryableMethodTranslatingExpressionVisitor : Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor
type RelationalQueryableMethodTranslatingExpressionVisitor = class
    inherit QueryableMethodTranslatingExpressionVisitor
Public Class RelationalQueryableMethodTranslatingExpressionVisitor
Inherits QueryableMethodTranslatingExpressionVisitor
Ereditarietà
RelationalQueryableMethodTranslatingExpressionVisitor

Costruttori

RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, IModel)

Classe che converte i metodi querybili in una query.

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

RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, QueryCompilationContext)

Crea una nuova istanza della classe QueryableMethodTranslatingExpressionVisitor.

RelationalQueryableMethodTranslatingExpressionVisitor(RelationalQueryableMethodTranslatingExpressionVisitor)

Crea una nuova istanza della classe QueryableMethodTranslatingExpressionVisitor.

Proprietà

Dependencies

Dipendenze per questo servizio.

(Ereditato da QueryableMethodTranslatingExpressionVisitor)
QueryCompilationContext

Oggetto contesto di compilazione query per la compilazione corrente.

(Ereditato da QueryableMethodTranslatingExpressionVisitor)
RelationalDependencies

Dipendenze specifiche del provider relazionale per questo servizio.

TranslationErrorDetails

Informazioni dettagliate sugli errori riscontrati durante la traduzione.

(Ereditato da QueryableMethodTranslatingExpressionVisitor)

Metodi

AddTranslationErrorDetails(String)

Aggiunge informazioni dettagliate sugli errori riscontrati durante la traduzione.

(Ereditato da QueryableMethodTranslatingExpressionVisitor)
ApplyInferredTypeMappings(Expression, IReadOnlyDictionary<ValueTuple<TableExpressionBase,String>,RelationalTypeMapping>)

Richiamato alla fine della traduzione di primo livello, applica mapping di tipi posticipati per costanti/parametri querybili e verifica che tutti SqlExpression abbiano un mapping dei tipi.

CreateShapedQueryExpression(IEntityType)

Crea un ShapedQueryExpression oggetto per il tipo di entità specificato.

CreateShapedQueryExpression(IEntityType)

Crea un ShapedQueryExpression oggetto per il tipo di entità specificato.

(Ereditato da QueryableMethodTranslatingExpressionVisitor)
CreateShapedQueryExpression(Type)
Obsoleti.

Crea un ShapedQueryExpression oggetto per il tipo specificato individuandone il tipo di entità nel modello.

CreateShapedQueryExpression(Type)
Obsoleti.

Crea un ShapedQueryExpression oggetto per il tipo specificato individuandone il tipo di entità nel modello.

(Ereditato da QueryableMethodTranslatingExpressionVisitor)
CreateSubqueryVisitor()

Crea un visitatore personalizzato per tradurre una sottoquery tramite TranslateSubquery(Expression).

IsNaturallyOrdered(SelectExpression)

Determina se l'ordine SelectExpression specificato è naturalmente ordinato, significa che qualsiasi ordinamento è stato aggiunto automaticamente da EF per mantenere, ad esempio, l'ordinamento naturale di una matrice JSON e non perché la query LINQ originale contiene un ordinamento esplicito.

IsOrdered(SelectExpression)

Determina se l'ordine specificato SelectExpression è ordinato, in genere perché gli ordini sono stati aggiunti a esso.

IsValidSelectExpressionForExecuteDelete(SelectExpression, EntityShaperExpression, TableExpression)

Controlla che l'espressione di selezione corrente possa essere usata come è per eseguire un'operazione di eliminazione o se deve essere spostata in una sottoquery.

IsValidSelectExpressionForExecuteDelete(SelectExpression, StructuralTypeShaperExpression, TableExpression)

Controlla che l'espressione di selezione corrente possa essere usata come è per l'esecuzione di un'operazione di eliminazione o se deve essere inserita in una sottoquery.

IsValidSelectExpressionForExecuteUpdate(SelectExpression, EntityShaperExpression, TableExpression)

Convalida se l'espressione di selezione corrente può essere usata per eseguire l'operazione di aggiornamento o deve essere unita come sottoquery.

IsValidSelectExpressionForExecuteUpdate(SelectExpression, TableExpressionBase, TableExpression)

Convalida se l'espressione di selezione corrente può essere usata per eseguire l'operazione di aggiornamento o deve essere unita come sottoquery.

MarkShaperNullable(Expression)

Contrassegna lo strumento di forma dell'entità nell'espressione shaper specificata come nullable.

(Ereditato da QueryableMethodTranslatingExpressionVisitor)
TransformJsonQueryToTable(JsonQueryExpression)

Richiamato quando gli operatori LINQ sono costituiti da una raccolta all'interno di un documento JSON. Trasforma l'oggetto fornito JsonQueryExpression , che rappresenta l'accesso alla raccolta, in un metodo specifico del provider per espandere la matrice JSON in un set di tabelle/righe relazionale, ad esempio SQL Server OPENJSON.

Translate(Expression)

Converte un'espressione in una rappresentazione SQL equivalente.

Translate(Expression)

Converte un'espressione in una rappresentazione SQL equivalente.

(Ereditato da QueryableMethodTranslatingExpressionVisitor)
TranslateAll(ShapedQueryExpression, LambdaExpression)

Converte All<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) il metodo sull'origine specificata.

TranslateAny(ShapedQueryExpression, LambdaExpression)

Converte Any<TSource>(IQueryable<TSource>) il metodo e altri overload sull'origine specificata.

TranslateAverage(ShapedQueryExpression, LambdaExpression, Type)

Converte Average(IQueryable<Decimal>) il metodo e altri overload sull'origine specificata.

TranslateCast(ShapedQueryExpression, Type)

Converte Cast<TResult>(IQueryable) il metodo sull'origine specificata.

TranslateConcat(ShapedQueryExpression, ShapedQueryExpression)

Converte Concat<TSource>(IQueryable<TSource>, IEnumerable<TSource>) il metodo sull'origine specificata.

TranslateContains(ShapedQueryExpression, Expression)

Converte Contains<TSource>(IQueryable<TSource>, TSource) il metodo sull'origine specificata.

TranslateCount(ShapedQueryExpression, LambdaExpression)

Converte Count<TSource>(IQueryable<TSource>) il metodo e altri overload sull'origine specificata.

TranslateDefaultIfEmpty(ShapedQueryExpression, Expression)

Converte DefaultIfEmpty<TSource>(IQueryable<TSource>) il metodo e altri overload sull'origine specificata.

TranslateDistinct(ShapedQueryExpression)

Converte Distinct<TSource>(IQueryable<TSource>) il metodo sull'origine specificata.

TranslateElementAtOrDefault(ShapedQueryExpression, Expression, Boolean)

Converte ElementAt<TSource>(IQueryable<TSource>, Int32) il metodo o ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) l'origine specificata.

TranslateExcept(ShapedQueryExpression, ShapedQueryExpression)

Converte Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) il metodo sull'origine specificata.

TranslateExecuteDelete(ShapedQueryExpression)

Converte ExecuteDelete<TSource>(IQueryable<TSource>) il metodo sull'origine specificata.

TranslateExecuteUpdate(ShapedQueryExpression, LambdaExpression)

Converte ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>) il metodo sull'origine specificata.

TranslateExpression(Expression)

Converte l'espressione specificata in rappresentazione SQL equivalente.

TranslateExpression(Expression, Boolean)

Converte l'espressione specificata in rappresentazione SQL equivalente.

TranslateFirstOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

Converte First<TSource>(IQueryable<TSource>) il metodo o FirstOrDefault<TSource>(IQueryable<TSource>) gli altri overload sull'origine specificata.

TranslateGroupBy(ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

Converte GroupBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) il metodo e altri overload sull'origine specificata.

TranslateGroupJoin(ShapedQueryExpression, ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

Converte GroupJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,IEnumerable<TInner>,TResult>>) il metodo sull'origine specificata.

TranslateIntersect(ShapedQueryExpression, ShapedQueryExpression)

Converte Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) il metodo sull'origine specificata.

TranslateJoin(ShapedQueryExpression, ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

Converte Join<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) il metodo sull'origine specificata.

TranslateLambdaExpression(ShapedQueryExpression, LambdaExpression)

Converte l'espressione lambda specificata per l'origine ShapedQueryExpression in rappresentazione SQL equivalente.

TranslateLastOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

Converte Last<TSource>(IQueryable<TSource>) il metodo o LastOrDefault<TSource>(IQueryable<TSource>) gli altri overload sull'origine specificata.

TranslateLeftJoin(ShapedQueryExpression, ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

Converte LeftJoin sull'origine specificata.

TranslateLongCount(ShapedQueryExpression, LambdaExpression)

Converte LongCount<TSource>(IQueryable<TSource>) il metodo e altri overload sull'origine specificata.

TranslateMax(ShapedQueryExpression, LambdaExpression, Type)

Converte Max<TSource>(IQueryable<TSource>) il metodo e altri overload sull'origine specificata.

TranslateMin(ShapedQueryExpression, LambdaExpression, Type)

Converte Min<TSource>(IQueryable<TSource>) il metodo e altri overload sull'origine specificata.

TranslateOfType(ShapedQueryExpression, Type)

Converte OfType<TResult>(IQueryable) il metodo sull'origine specificata.

TranslateOrderBy(ShapedQueryExpression, LambdaExpression, Boolean)

Converte OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) o OrderByDescending<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) metodo sull'origine specificata.

TranslatePrimitiveCollection(SqlExpression, IProperty, String)

Converte un parametro o una raccolta di colonne di valori primitivi. I provider possono eseguire l'override di questa operazione per convertire, ad esempio, colonne o parametri in una tabella queryable (OPENJSON in SQL Server, unnest in PostgreSQL...). L'implementazione predefinita restituisce null sempre (nessuna traduzione).

TranslateResultSelectorForJoin(ShapedQueryExpression, LambdaExpression, Expression, Type)
Obsoleti.

Converte il selettore dei risultati per l'operazione di join.

(Ereditato da QueryableMethodTranslatingExpressionVisitor)
TranslateReverse(ShapedQueryExpression)

Converte Reverse<TSource>(IQueryable<TSource>) il metodo sull'origine specificata.

TranslateSelect(ShapedQueryExpression, LambdaExpression)

Converte Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) il metodo sull'origine specificata.

TranslateSelectMany(ShapedQueryExpression, LambdaExpression)

Converte SelectMany<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,IEnumerable<TResult>>>) il metodo sull'origine specificata.

TranslateSelectMany(ShapedQueryExpression, LambdaExpression, LambdaExpression)

Converte SelectMany<TSource,TCollection,TResult>(IQueryable<TSource>, Expression<Func<TSource, IEnumerable<TCollection>>>, Expression<Func<TSource,TCollection, TResult>>) il metodo sull'origine specificata.

TranslateSingleOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

Converte Single<TSource>(IQueryable<TSource>) il metodo o SingleOrDefault<TSource>(IQueryable<TSource>) gli altri overload sull'origine specificata.

TranslateSkip(ShapedQueryExpression, Expression)

Converte Skip<TSource>(IQueryable<TSource>, Int32) il metodo sull'origine specificata.

TranslateSkipWhile(ShapedQueryExpression, LambdaExpression)

Converte SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) il metodo sull'origine specificata.

TranslateSubquery(Expression)

Converte la sottoquery specificata.

(Ereditato da QueryableMethodTranslatingExpressionVisitor)
TranslateSum(ShapedQueryExpression, LambdaExpression, Type)

Converte Sum(IQueryable<Decimal>) il metodo e altri overload sull'origine specificata.

TranslateTake(ShapedQueryExpression, Expression)

Converte Take<TSource>(IQueryable<TSource>, Int32) il metodo sull'origine specificata.

TranslateTakeWhile(ShapedQueryExpression, LambdaExpression)

Converte TakeWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) il metodo sull'origine specificata.

TranslateThenBy(ShapedQueryExpression, LambdaExpression, Boolean)

Converte ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) o ThenByDescending<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) metodo sull'origine specificata.

TranslateUnion(ShapedQueryExpression, ShapedQueryExpression)

Converte Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) il metodo sull'origine specificata.

TranslateWhere(ShapedQueryExpression, LambdaExpression)

Converte Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) il metodo sull'origine specificata.

VisitConstant(ConstantExpression)

Classe che converte i metodi querybili in una query.

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

(Ereditato da QueryableMethodTranslatingExpressionVisitor)
VisitExtension(Expression)

Classe che converte i metodi querybili in una query.

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

VisitExtension(Expression)

Classe che converte i metodi querybili in una query.

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

(Ereditato da QueryableMethodTranslatingExpressionVisitor)
VisitInlineQueryRoot(InlineQueryRootExpression)

Converte un insieme inline in un'espressione SQL VALUES queryable.

VisitMethodCall(MethodCallExpression)

Classe che converte i metodi querybili in una query.

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

VisitMethodCall(MethodCallExpression)

Classe che converte i metodi querybili in una query.

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

(Ereditato da QueryableMethodTranslatingExpressionVisitor)

Si applica a