SelectExpression 類別

定義

表示 SQL 樹狀結構中 SELECT 的運算式。

此類型通常是由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。

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)

這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不會有任何通知。 您應該只在程式碼中直接使用它,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。

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

這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不會有任何通知。 您應該只在程式碼中直接使用它,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。

屬性

Alias

指派給這個資料表來源的別名。

(繼承來源 TableExpressionBase)
DebugView

在偵錯工具中展開此屬性,以取得這個 SelectExpression 的人類可讀取表示。

警告:請勿依賴偵錯字串的格式。 它們僅針對偵錯而設計,而且可能會在發行之間任意變更。

GroupBy

SELECT 的 SQL GROUP BY 子句。

Having

SELECT 的 HAVING 述詞存在時 GroupBy , 子句存在。

IsDistinct

bool 值,指出 DISTINCT 是否套用至這個 SelectExpression 的投影。

Limit

套用至結果集中資料列數目的限制。

NodeType

表示 SQL 樹狀結構中 SELECT 的運算式。

此類型通常是由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。

(繼承來源 TableExpressionBase)
Offset

要略過結果集中資料列的位移。

Orderings

用來排序結果集的排序清單。

Predicate

SELECT 的 WHERE 述詞。

Projection

從結果集投射的運算式清單。

Tables

用來產生結果集的資料表來源清單。

Tags

套用至這個 SelectExpression 的標記清單。

Type

表示 SQL 樹狀結構中 SELECT 的運算式。

此類型通常是由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。

(繼承來源 TableExpressionBase)

方法

AddAnnotation(String, Object)

將注釋加入至這個物件。 如果具有指定名稱的注釋已經存在,則會擲回 。

AddAnnotation(String, Object)

將注釋加入至這個物件。 如果具有指定名稱的注釋已經存在,則會擲回 。

(繼承來源 TableExpressionBase)
AddCollectionProjection(ShapedQueryExpression, INavigation, Type)

表示 SQL 樹狀結構中 SELECT 的運算式。

此類型通常是由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。

AddCollectionProjection(ShapedQueryExpression, INavigationBase, Type)

將集合加入至 的 SelectExpression 投影。

AddCrossApply(SelectExpression)

使用 CROSS APPLY 將指定的 SelectExpression 新增至資料表來源。

AddCrossApply(SelectExpression, Type)
已淘汰.

使用 CROSS APPLY 將指定的 SelectExpression 新增至資料表來源。

AddCrossApply(ShapedQueryExpression, Expression)

使用 CROSS APPLY 將指定的 ShapedQueryExpression 查詢運算式加入至資料表來源,並結合圖形器。

AddCrossJoin(SelectExpression)

使用 CROSS JOIN 將指定的 SelectExpression 新增至資料表來源。

AddCrossJoin(SelectExpression, Type)
已淘汰.

使用 CROSS JOIN 將指定的 SelectExpression 新增至資料表來源。

AddCrossJoin(ShapedQueryExpression, Expression)

使用 CROSS JOIN 將指定的 ShapedQueryExpression 查詢運算式新增至資料表來源,並結合圖形器。

AddInnerJoin(SelectExpression, SqlExpression)

使用 INNER JOIN 將指定的 SelectExpression 加入至資料表來源。

AddInnerJoin(SelectExpression, SqlExpression, Type)
已淘汰.

使用 INNER JOIN 將指定的 SelectExpression 加入至資料表來源。

AddInnerJoin(ShapedQueryExpression, SqlExpression, Expression)

使用 INNER JOIN 並將指定的 ShapedQueryExpression 查詢運算式加入至資料表來源,並結合圖形器。

AddLeftJoin(SelectExpression, SqlExpression)

使用 LEFT JOIN 將指定的 SelectExpression 新增至資料表來源。

AddLeftJoin(SelectExpression, SqlExpression, Type)
已淘汰.

使用 LEFT JOIN 將指定的 SelectExpression 新增至資料表來源。

AddLeftJoin(ShapedQueryExpression, SqlExpression, Expression)

使用 LEFT JOIN 將指定的 ShapedQueryExpression 查詢運算式加入至資料表來源,並結合圖形器。

AddOuterApply(SelectExpression)

使用 OUTER APPLY 將指定的 SelectExpression 新增至資料表來源。

AddOuterApply(SelectExpression, Type)
已淘汰.

使用 OUTER APPLY 將指定的 SelectExpression 新增至資料表來源。

AddOuterApply(ShapedQueryExpression, Expression)

使用 OUTER APPLY 並將指定的 ShapedQueryExpression 查詢運算式加入至資料表來源,並結合圖形器。

AddSingleProjection(ShapedQueryExpression)

將非純量單一結果加入至 的 SelectExpression 投影。

AddToProjection(EntityProjectionExpression)

將指定的 EntityProjectionExpression 新增至投影。

AddToProjection(SqlExpression)

將指定的 SqlExpression 新增至投影。

AppendOrdering(OrderingExpression)

將排序附加至 的現有排序 SelectExpression

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

表示 SQL 樹狀結構中 SELECT 的運算式。

此類型通常是由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。

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)

這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不會有任何通知。 您應該只在程式碼中直接使用它,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。

ClearOrdering()

清除現有的排序。

ClearProjection()
已淘汰.

清除所有現有的投影。

Clone()

這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不會有任何通知。 您應該只在程式碼中直接使用它,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。

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

建立 , ColumnExpression 參考這個 SelectExpression 上的資料表。

CreateWithAnnotations(IEnumerable<IAnnotation>)

使用指定的批註建立類似這樣的 物件。

(繼承來源 TableExpressionBase)
Equals(Object)

表示 SQL 樹狀結構中 SELECT 的運算式。

此類型通常是由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。

FindAnnotation(String)

取得具有指定名稱的注釋,如果不存在,則傳 null 回 。

FindAnnotation(String)

取得具有指定名稱的注釋,如果不存在,則傳 null 回 。

(繼承來源 TableExpressionBase)
GenerateComplexPropertyShaperExpression(StructuralTypeProjectionExpression, IComplexProperty)

這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不會有任何通知。 您應該只在程式碼中直接使用它,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。

GenerateOwnedReferenceEntityProjectionExpression(EntityProjectionExpression, INavigation, ISqlExpressionFactory)

這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不會有任何通知。 您應該只在程式碼中直接使用它,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。

GenerateOwnedReferenceEntityProjectionExpression(StructuralTypeProjectionExpression, INavigation, ISqlExpressionFactory)

這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不會有任何通知。 您應該只在程式碼中直接使用它,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。

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

這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不會有任何通知。 您應該只在程式碼中直接使用它,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。

GetAnnotations()

取得目前 物件上的所有批註。

GetAnnotations()

取得目前 物件上的所有批註。

(繼承來源 TableExpressionBase)
GetHashCode()

表示 SQL 樹狀結構中 SELECT 的運算式。

此類型通常是由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。

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()

這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 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)

表示 SQL 樹狀結構中 SELECT 的運算式。

此類型通常是由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。

VisitChildren(ExpressionVisitor)

表示 SQL 樹狀結構中 SELECT 的運算式。

此類型通常是由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。

(繼承來源 TableExpressionBase)

明確介面實作

IPrintableExpression.Print(ExpressionPrinter)

使用 ExpressionPrinter 建立指定運算式的可列印字串表示。

(繼承來源 TableExpressionBase)

擴充方法

UnwrapJoin(TableExpressionBase)

如果指定的 tableJoinExpressionBase ,則會傳回其聯結的資料表。 否則傳回 table

適用於