Поделиться через


RelationalQueryableMethodTranslatingExpressionVisitor Класс

Определение

Класс, который преобразует запрашиваемые методы в запросе.

Этот тип обычно используется поставщиками баз данных (и другими расширениями). Как правило, он не используется в коде приложения.

public class RelationalQueryableMethodTranslatingExpressionVisitor : Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor
type RelationalQueryableMethodTranslatingExpressionVisitor = class
    inherit QueryableMethodTranslatingExpressionVisitor
Public Class RelationalQueryableMethodTranslatingExpressionVisitor
Inherits QueryableMethodTranslatingExpressionVisitor
Наследование
RelationalQueryableMethodTranslatingExpressionVisitor

Конструкторы

RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, IModel)

Класс, который преобразует запрашиваемые методы в запросе.

Этот тип обычно используется поставщиками баз данных (и другими расширениями). Как правило, он не используется в коде приложения.

RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, QueryCompilationContext)

Создает новый экземпляр класса QueryableMethodTranslatingExpressionVisitor.

RelationalQueryableMethodTranslatingExpressionVisitor(RelationalQueryableMethodTranslatingExpressionVisitor)

Создает новый экземпляр класса QueryableMethodTranslatingExpressionVisitor.

Свойства

Dependencies

Зависимости для этой службы.

(Унаследовано от QueryableMethodTranslatingExpressionVisitor)
QueryCompilationContext

Объект контекста компиляции запроса для текущей компиляции.

(Унаследовано от QueryableMethodTranslatingExpressionVisitor)
RelationalDependencies

Зависимости от реляционного поставщика для этой службы.

TranslationErrorDetails

Подробные сведения об ошибках, возникших во время перевода.

(Унаследовано от QueryableMethodTranslatingExpressionVisitor)

Методы

AddTranslationErrorDetails(String)

Добавляет подробные сведения об ошибках, возникших во время перевода.

(Унаследовано от QueryableMethodTranslatingExpressionVisitor)
ApplyInferredTypeMappings(Expression, IReadOnlyDictionary<ValueTuple<TableExpressionBase,String>,RelationalTypeMapping>)

Вызывается в конце преобразования верхнего уровня, применяет выводимые сопоставления типов для запрашиваемых констант или параметров и проверяет, что все SqlExpression они имеют сопоставление типов.

CreateShapedQueryExpression(IEntityType)

Создает для ShapedQueryExpression заданного типа сущности.

CreateShapedQueryExpression(IEntityType)

Создает для ShapedQueryExpression заданного типа сущности.

(Унаследовано от QueryableMethodTranslatingExpressionVisitor)
CreateShapedQueryExpression(Type)
Устаревшие..

ShapedQueryExpression Создает для заданного типа, найдя его тип сущности в модели.

CreateShapedQueryExpression(Type)
Устаревшие..

ShapedQueryExpression Создает для заданного типа, найдя его тип сущности в модели.

(Унаследовано от QueryableMethodTranslatingExpressionVisitor)
CreateSubqueryVisitor()

Создает посетителя, настроенного для преобразования вложенного запроса через TranslateSubquery(Expression).

IsNaturallyOrdered(SelectExpression)

Определяет, является ли данный SelectExpression объект естественным упорядоченным. Это означает, что EF автоматически добавила любое упорядочение, чтобы сохранить, например, естественное упорядочение массива JSON, а не потому, что исходный запрос LINQ содержал явное упорядочение.

IsOrdered(SelectExpression)

Определяет, упорядочен ли данный SelectExpression объект, как правило, из-за того, что к нему были добавлены заказы.

IsValidSelectExpressionForExecuteDelete(SelectExpression, EntityShaperExpression, TableExpression)

Проверяет погоду текущего выражения выбора можно использовать как есть для выполнения операции удаления или отправки во вложенный запрос.

IsValidSelectExpressionForExecuteDelete(SelectExpression, StructuralTypeShaperExpression, TableExpression)

Проверяет погоду текущего выражения выбора можно использовать как есть для выполнения операции удаления или отправки во вложенный запрос.

IsValidSelectExpressionForExecuteUpdate(SelectExpression, EntityShaperExpression, TableExpression)

Проверяет, можно ли использовать текущее выражение выбора для выполнения операции обновления или его требуется объединить как вложенный запрос.

IsValidSelectExpressionForExecuteUpdate(SelectExpression, TableExpressionBase, TableExpression)

Проверяет, можно ли использовать текущее выражение выбора для выполнения операции обновления или его требуется объединить как вложенный запрос.

MarkShaperNullable(Expression)

Помечает фигуру сущности в заданном выражении формировщика как допускающее значение NULL.

(Унаследовано от QueryableMethodTranslatingExpressionVisitor)
TransformJsonQueryToTable(JsonQueryExpression)

Вызывается, когда операторы LINQ создаются над коллекцией в документе JSON. Преобразует предоставленный JsonQueryExpression объект , представляющий доступ к коллекции, в средство для конкретного поставщика для расширения массива JSON в реляционную таблицу или набор строк (например, SQL Server OPENJSON).

Translate(Expression)

Преобразует выражение в эквивалентное представление SQL.

Translate(Expression)

Преобразует выражение в эквивалентное представление SQL.

(Унаследовано от QueryableMethodTranslatingExpressionVisitor)
TranslateAll(ShapedQueryExpression, LambdaExpression)

All<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Преобразует метод по заданному источнику.

TranslateAny(ShapedQueryExpression, LambdaExpression)

Any<TSource>(IQueryable<TSource>) Преобразует метод и другие перегрузки по заданному источнику.

TranslateAverage(ShapedQueryExpression, LambdaExpression, Type)

Average(IQueryable<Decimal>) Преобразует метод и другие перегрузки по заданному источнику.

TranslateCast(ShapedQueryExpression, Type)

Cast<TResult>(IQueryable) Преобразует метод по заданному источнику.

TranslateConcat(ShapedQueryExpression, ShapedQueryExpression)

Concat<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Преобразует метод по заданному источнику.

TranslateContains(ShapedQueryExpression, Expression)

Contains<TSource>(IQueryable<TSource>, TSource) Преобразует метод по заданному источнику.

TranslateCount(ShapedQueryExpression, LambdaExpression)

Count<TSource>(IQueryable<TSource>) Преобразует метод и другие перегрузки по заданному источнику.

TranslateDefaultIfEmpty(ShapedQueryExpression, Expression)

DefaultIfEmpty<TSource>(IQueryable<TSource>) Преобразует метод и другие перегрузки по заданному источнику.

TranslateDistinct(ShapedQueryExpression)

Distinct<TSource>(IQueryable<TSource>) Преобразует метод по заданному источнику.

TranslateElementAtOrDefault(ShapedQueryExpression, Expression, Boolean)

ElementAt<TSource>(IQueryable<TSource>, Int32) Преобразует метод или ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) по заданному источнику.

TranslateExcept(ShapedQueryExpression, ShapedQueryExpression)

Except<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Преобразует метод по заданному источнику.

TranslateExecuteDelete(ShapedQueryExpression)

ExecuteDelete<TSource>(IQueryable<TSource>) Преобразует метод по заданному источнику.

TranslateExecuteUpdate(ShapedQueryExpression, LambdaExpression)

ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>) Преобразует метод по заданному источнику.

TranslateExpression(Expression)

Преобразует данное выражение в эквивалентное представление SQL.

TranslateExpression(Expression, Boolean)

Преобразует данное выражение в эквивалентное представление SQL.

TranslateFirstOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

First<TSource>(IQueryable<TSource>) Преобразует метод или FirstOrDefault<TSource>(IQueryable<TSource>) и другие их перегрузки на заданный источник.

TranslateGroupBy(ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

GroupBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) Преобразует метод и другие перегрузки по заданному источнику.

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

GroupJoin<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,IEnumerable<TInner>,TResult>>) Преобразует метод по заданному источнику.

TranslateIntersect(ShapedQueryExpression, ShapedQueryExpression)

Intersect<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Преобразует метод по заданному источнику.

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

Join<TOuter,TInner,TKey,TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter,TKey>>, Expression<Func<TInner,TKey>>, Expression<Func<TOuter,TInner,TResult>>) Преобразует метод по заданному источнику.

TranslateLambdaExpression(ShapedQueryExpression, LambdaExpression)

Преобразует заданное лямбда-выражение для источника в ShapedQueryExpression эквивалентное представление SQL.

TranslateLastOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

Last<TSource>(IQueryable<TSource>) Преобразует метод или LastOrDefault<TSource>(IQueryable<TSource>) и другие их перегрузки на заданный источник.

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

Переводит LeftJoin по заданному источнику.

TranslateLongCount(ShapedQueryExpression, LambdaExpression)

LongCount<TSource>(IQueryable<TSource>) Преобразует метод и другие перегрузки по заданному источнику.

TranslateMax(ShapedQueryExpression, LambdaExpression, Type)

Max<TSource>(IQueryable<TSource>) Преобразует метод и другие перегрузки по заданному источнику.

TranslateMin(ShapedQueryExpression, LambdaExpression, Type)

Min<TSource>(IQueryable<TSource>) Преобразует метод и другие перегрузки по заданному источнику.

TranslateOfType(ShapedQueryExpression, Type)

OfType<TResult>(IQueryable) Преобразует метод по заданному источнику.

TranslateOrderBy(ShapedQueryExpression, LambdaExpression, Boolean)

OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) Преобразует метод или OrderByDescending<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) по заданному источнику.

TranslatePrimitiveCollection(SqlExpression, IProperty, String)

Преобразует коллекцию параметров или столбцов с примитивными значениями. Поставщики могут переопределить это для преобразования, например, столбцов или параметров int[] в запрашиваемую таблицу (OPENJSON на SQL Server, unnest в PostgreSQL...). Реализация по умолчанию всегда возвращает (nullбез перевода).

TranslateResultSelectorForJoin(ShapedQueryExpression, LambdaExpression, Expression, Type)
Устаревшие..

Преобразует селектор результатов для операции соединения.

(Унаследовано от QueryableMethodTranslatingExpressionVisitor)
TranslateReverse(ShapedQueryExpression)

Reverse<TSource>(IQueryable<TSource>) Преобразует метод по заданному источнику.

TranslateSelect(ShapedQueryExpression, LambdaExpression)

Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) Преобразует метод по заданному источнику.

TranslateSelectMany(ShapedQueryExpression, LambdaExpression)

SelectMany<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,IEnumerable<TResult>>>) Преобразует метод по заданному источнику.

TranslateSelectMany(ShapedQueryExpression, LambdaExpression, LambdaExpression)

SelectMany<TSource,TCollection,TResult>(IQueryable<TSource>, Expression<Func<TSource, IEnumerable<TCollection>>>, Expression<Func<TSource,TCollection, TResult>>) Преобразует метод по заданному источнику.

TranslateSingleOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

Single<TSource>(IQueryable<TSource>) Преобразует метод или SingleOrDefault<TSource>(IQueryable<TSource>) и другие их перегрузки на заданный источник.

TranslateSkip(ShapedQueryExpression, Expression)

Skip<TSource>(IQueryable<TSource>, Int32) Преобразует метод по заданному источнику.

TranslateSkipWhile(ShapedQueryExpression, LambdaExpression)

SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Преобразует метод по заданному источнику.

TranslateSubquery(Expression)

Преобразует заданный вложенный запрос.

(Унаследовано от QueryableMethodTranslatingExpressionVisitor)
TranslateSum(ShapedQueryExpression, LambdaExpression, Type)

Sum(IQueryable<Decimal>) Преобразует метод и другие перегрузки по заданному источнику.

TranslateTake(ShapedQueryExpression, Expression)

Take<TSource>(IQueryable<TSource>, Int32) Преобразует метод по заданному источнику.

TranslateTakeWhile(ShapedQueryExpression, LambdaExpression)

TakeWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Преобразует метод по заданному источнику.

TranslateThenBy(ShapedQueryExpression, LambdaExpression, Boolean)

ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) Преобразует метод или ThenByDescending<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) по заданному источнику.

TranslateUnion(ShapedQueryExpression, ShapedQueryExpression)

Union<TSource>(IQueryable<TSource>, IEnumerable<TSource>) Преобразует метод по заданному источнику.

TranslateWhere(ShapedQueryExpression, LambdaExpression)

Where<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) Преобразует метод по заданному источнику.

VisitConstant(ConstantExpression)

Класс, который преобразует запрашиваемые методы в запросе.

Этот тип обычно используется поставщиками баз данных (и другими расширениями). Как правило, он не используется в коде приложения.

(Унаследовано от QueryableMethodTranslatingExpressionVisitor)
VisitExtension(Expression)

Класс, который преобразует запрашиваемые методы в запросе.

Этот тип обычно используется поставщиками баз данных (и другими расширениями). Как правило, он не используется в коде приложения.

VisitExtension(Expression)

Класс, который преобразует запрашиваемые методы в запросе.

Этот тип обычно используется поставщиками баз данных (и другими расширениями). Как правило, он не используется в коде приложения.

(Унаследовано от QueryableMethodTranslatingExpressionVisitor)
VisitInlineQueryRoot(InlineQueryRootExpression)

Преобразует встроенную коллекцию в запрашиваемое выражение SQL VALUES.

VisitMethodCall(MethodCallExpression)

Класс, который преобразует запрашиваемые методы в запросе.

Этот тип обычно используется поставщиками баз данных (и другими расширениями). Как правило, он не используется в коде приложения.

VisitMethodCall(MethodCallExpression)

Класс, который преобразует запрашиваемые методы в запросе.

Этот тип обычно используется поставщиками баз данных (и другими расширениями). Как правило, он не используется в коде приложения.

(Унаследовано от QueryableMethodTranslatingExpressionVisitor)

Применяется к