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


SelectExpression Класс

Определение

Выражение, представляющее SELECT в дереве SQL.

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

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
Наследование
SelectExpression
Атрибуты

Комментарии

Этот класс не является общедоступным. Если это проблема для вашего приложения или поставщика, сообщите о проблеме по адресу github.com/dotnet/efcore.

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

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

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

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

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

Свойства

Alias

Псевдоним, назначенный этому источнику таблицы.

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

Разверните это свойство в отладчике для удобочитаемого представления этого SelectExpressionобъекта .

Предупреждение. Не полагайтесь на формат строк отладки. Они предназначены только для отладки и могут изменяться произвольно между выпусками.

GroupBy

Предложение SQL GROUP BY для select.

Having

Предикат HAVING для предложения SELECT при GroupBy наличии.

IsDistinct

Логическое значение, указывающее, применяется ли DISTINCT к проекции данного SelectExpressionобъекта .

Limit

Ограничение, применяемое к количеству строк в результирующем наборе.

NodeType

Выражение, представляющее SELECT в дереве SQL.

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

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

Смещение для пропуска строк из результирующих наборов.

Orderings

Список упорядочений, используемых для сортировки результирующих наборов.

Predicate

Предикат WHERE для select.

Projection

Список выражений, проецируемых из результирующих наборов.

Tables

Список источников таблиц, используемых для создания результирующих наборов.

Tags

Список тегов, примененных к данному SelectExpressionобъекту .

Type

Выражение, представляющее SELECT в дереве SQL.

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

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

Методы

AddAnnotation(String, Object)

Добавляет заметку к этому объекту. Вызывает исключение, если заметка с указанным именем уже существует.

AddAnnotation(String, Object)

Добавляет заметку к этому объекту. Вызывает исключение, если заметка с указанным именем уже существует.

(Унаследовано от TableExpressionBase)
AddCollectionProjection(ShapedQueryExpression, INavigation, Type)

Выражение, представляющее SELECT в дереве SQL.

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

AddCollectionProjection(ShapedQueryExpression, INavigationBase, Type)

Добавляет коллекцию в проекцию SelectExpressionобъекта .

AddCrossApply(SelectExpression)

Добавляет заданный SelectExpression объект в источники таблиц с помощью CROSS APPLY.

AddCrossApply(SelectExpression, Type)
Устаревшие..

Добавляет заданный SelectExpression объект в источники таблиц с помощью CROSS APPLY.

AddCrossApply(ShapedQueryExpression, Expression)

Добавляет выражение запроса заданного объекта ShapedQueryExpression в источники таблиц с помощью CROSS APPLY и формировщиков объединения.

AddCrossJoin(SelectExpression)

Добавляет заданный SelectExpression объект в табличные источники с помощью CROSS JOIN.

AddCrossJoin(SelectExpression, Type)
Устаревшие..

Добавляет заданный SelectExpression объект в табличные источники с помощью CROSS JOIN.

AddCrossJoin(ShapedQueryExpression, Expression)

Добавляет выражение запроса заданного объекта ShapedQueryExpression в источники таблиц с помощью CROSS JOIN и формировщиков объединения.

AddInnerJoin(SelectExpression, SqlExpression)

Добавляет заданный SelectExpression объект в источники таблиц с помощью INNER JOIN.

AddInnerJoin(SelectExpression, SqlExpression, Type)
Устаревшие..

Добавляет заданный SelectExpression объект в источники таблиц с помощью INNER JOIN.

AddInnerJoin(ShapedQueryExpression, SqlExpression, Expression)

Добавляет выражение запроса заданного объекта ShapedQueryExpression в источники таблиц с помощью инструкций INNER JOIN и формировщиков объединения.

AddLeftJoin(SelectExpression, SqlExpression)

Добавляет заданный SelectExpression объект в источники таблиц с помощью LEFT JOIN.

AddLeftJoin(SelectExpression, SqlExpression, Type)
Устаревшие..

Добавляет заданный SelectExpression объект в источники таблиц с помощью LEFT JOIN.

AddLeftJoin(ShapedQueryExpression, SqlExpression, Expression)

Добавляет выражение запроса заданного объекта ShapedQueryExpression в источники таблиц с помощью левого соединения и формировщиков объединения.

AddOuterApply(SelectExpression)

Добавляет заданный SelectExpression объект в источники таблиц с помощью OUTER APPLY.

AddOuterApply(SelectExpression, Type)
Устаревшие..

Добавляет заданный SelectExpression объект в источники таблиц с помощью OUTER APPLY.

AddOuterApply(ShapedQueryExpression, Expression)

Добавляет выражение запроса заданного объекта ShapedQueryExpression в табличные источники с помощью OUTER APPLY и формировщиков объединения.

AddSingleProjection(ShapedQueryExpression)

Добавляет нескалярный отдельный результат в проекцию SelectExpression.

AddToProjection(EntityProjectionExpression)

Добавляет заданное EntityProjectionExpression значение в проекцию.

AddToProjection(SqlExpression)

Добавляет заданное SqlExpression значение в проекцию.

AppendOrdering(OrderingExpression)

Добавляет упорядочение к существующим порядкам SelectExpressionобъекта .

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

Выражение, представляющее SELECT в дереве SQL.

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

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

Применяет ранее добавленную проекцию коллекции.

ApplyDefaultIfEmpty(ISqlExpressionFactory)

Применяется к DefaultIfEmpty<TSource>(IQueryable<TSource>) объекту SelectExpression.

ApplyDistinct()

Применяет оператор DISTINCT к проекциям SelectExpression.

ApplyExcept(SelectExpression, Boolean)

Применяет операцию EXCEPT к SelectExpression.

ApplyGrouping(Expression)

Применяет группирование из заданного селектора ключей.

ApplyGrouping(Expression, Expression, ISqlExpressionFactory)

Применяет группирование из заданного селектора ключей и создает RelationalGroupByShaperExpression результаты к фигуре.

ApplyIntersect(SelectExpression, Boolean)

Применяет операцию INTERSECT к объекту SelectExpression.

ApplyLimit(SqlExpression)

Применяет ограничение к , SelectExpression чтобы ограничить количество строк, возвращаемых в результирующем наборе.

ApplyOffset(SqlExpression)

Применяет смещение к , SelectExpression чтобы пропустить количество строк в результирующем наборе.

ApplyOrdering(OrderingExpression)

Применяет порядок к объекту SelectExpression. При этом перезаписывается любой предыдущий указанный порядок.

ApplyPredicate(SqlExpression)

Применяет предикат фильтра к объекту SelectExpression.

ApplyProjection()

Добавляет выражения из сопоставления проекции в проекцию, игнорируя выражение форматора. Этот метод следует использовать только при заполнении проекции во вложенном запросе.

ApplyProjection(Expression, ResultCardinality, QuerySplittingBehavior)

Добавляет выражения из сопоставления проекции в проекцию и создает обновленное выражение форматора для материализации.

ApplyTags(ISet<String>)

Применяет заданный набор тегов.

ApplyUnion(SelectExpression, Boolean)

Применяет операцию UNION к объекту SelectExpression.

AssignUniqueAliases(SqlExpression)

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

ClearOrdering()

Очищает существующие порядки.

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

Очищает все существующие проекции.

Clone()

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

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

Создает объект , ColumnExpression ссылающийся на таблицу в этом SelectExpressionобъекте .

CreateWithAnnotations(IEnumerable<IAnnotation>)

Создает подобный объект с указанными заметками.

(Унаследовано от TableExpressionBase)
Equals(Object)

Выражение, представляющее SELECT в дереве SQL.

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

FindAnnotation(String)

Возвращает заметку с заданным именем, возвращающую null значение , если она не существует.

FindAnnotation(String)

Возвращает заметку с заданным именем, возвращающую null значение , если она не существует.

(Унаследовано от TableExpressionBase)
GenerateComplexPropertyShaperExpression(StructuralTypeProjectionExpression, IComplexProperty)

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

GenerateOwnedReferenceEntityProjectionExpression(EntityProjectionExpression, INavigation, ISqlExpressionFactory)

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

GenerateOwnedReferenceEntityProjectionExpression(StructuralTypeProjectionExpression, INavigation, ISqlExpressionFactory)

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

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

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

GetAnnotations()

Возвращает все заметки к текущему объекту.

GetAnnotations()

Возвращает все заметки к текущему объекту.

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

Выражение, представляющее SELECT в дереве SQL.

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

GetMappedProjection(ProjectionMember)
Устаревшие..

Возвращает проекцию, сопоставленную с заданным ProjectionMember.

GetProjection(ProjectionBindingExpression)

Возвращает проекцию, сопоставленную с заданным ProjectionBindingExpression.

IsNonComposedFromSql()

Проверяет, представляет ли объект SelectExpression , FromSqlExpression который не состоит.

PrepareForAggregate()

Подготавливает для применения статистической SelectExpression операции над ним.

PrepareForAggregate(Boolean)

Подготавливает для применения статистической SelectExpression операции над ним.

Print(ExpressionPrinter)

Создает выводимое строковое представление заданного выражения с помощью ExpressionPrinter.

Print(ExpressionPrinter)

Создает выводимое строковое представление заданного выражения с помощью ExpressionPrinter.

(Унаследовано от TableExpressionBase)
PrintAnnotations(ExpressionPrinter)

Создает выводимое строковое представление заметок, связанных с данным выражением, с помощью ExpressionPrinter.

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

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

PushdownIntoSubquery()

Помещает в SelectExpression вложенный запрос.

ReplaceProjection(IReadOnlyDictionary<ProjectionMember,Expression>)

Заменяет текущее сопоставление проекции новым, чтобы изменить то, что проецируется из этого SelectExpression.

ReplaceProjection(IReadOnlyList<Expression>)

Заменяет текущее сопоставление проекции новым, чтобы изменить то, что проецируется из этого SelectExpression.

ReplaceProjectionMapping(IDictionary<ProjectionMember,Expression>)
Устаревшие..

Заменяет текущее сопоставление проекции новым, чтобы изменить то, что проецируется из этого SelectExpression.

ReverseOrderings()

Отменяет существующие упорядочения в SelectExpression.

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

Создает новое выражение, аналогичное данному, но с использованием предоставленного дочернего элемента. Если все дочерние элементы совпадают, возвращается данное выражение.

Update(IReadOnlyList<ProjectionExpression>, IReadOnlyList<TableExpressionBase>, SqlExpression, IReadOnlyList<SqlExpression>, SqlExpression, IReadOnlyList<OrderingExpression>, SqlExpression, SqlExpression, Boolean, String)
Устаревшие..

Создает новое выражение, аналогичное данному, но с использованием предоставленного дочернего элемента. Если все дочерние элементы совпадают, возвращается данное выражение.

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

Создает новое выражение, аналогичное данному, но с использованием предоставленного дочернего элемента. Если все дочерние элементы совпадают, возвращается данное выражение.

Update(List<ProjectionExpression>, List<TableExpressionBase>, SqlExpression, List<SqlExpression>, SqlExpression, List<OrderingExpression>, SqlExpression, SqlExpression, Boolean, String)
Устаревшие..

Создает новое выражение, аналогичное данному, но с использованием предоставленного дочернего элемента. Если все дочерние элементы совпадают, возвращается данное выражение.

VisitChildren(ExpressionVisitor)

Выражение, представляющее SELECT в дереве SQL.

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

VisitChildren(ExpressionVisitor)

Выражение, представляющее SELECT в дереве SQL.

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

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

Явные реализации интерфейса

IPrintableExpression.Print(ExpressionPrinter)

Создает выводимое строковое представление заданного выражения с помощью ExpressionPrinter.

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

Методы расширения

UnwrapJoin(TableExpressionBase)

Если данный table объект является , возвращает таблицу, к ней JoinExpressionBaseвыполняется соединение. В противном случае возвращается table.

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