共用方式為


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)

驗證目前的 select 運算式是否可用於執行更新作業,或需要聯結為子查詢。

IsValidSelectExpressionForExecuteUpdate(SelectExpression, TableExpressionBase, TableExpression)

驗證目前的 select 運算式是否可用於執行更新作業,或需要聯結為子查詢。

MarkShaperNullable(Expression)

將指定之 Shaper 運算式中的實體形狀器標示為可為 Null。

(繼承來源 QueryableMethodTranslatingExpressionVisitor)
TransformJsonQueryToTable(JsonQueryExpression)

在 JSON 檔中的集合上撰寫 LINQ 運算子時叫用。 將提供的 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)

將來源的指定 Lambda 運算式轉譯為相等的 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[] 資料行或參數轉譯為可在 SQL Server 上 (OPENJSON 的可查詢資料表,在 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)

適用於