語言

QueryableMethodTranslatingExpressionVisitor 類別

定義

一個能將查詢方法轉換成查詢的類別。

此類型通常由資料庫提供者(及其他擴充功能)使用。 它通常不被用於應用程式程式碼中。

[System.Runtime.CompilerServices.Nullable(0)]
public abstract class QueryableMethodTranslatingExpressionVisitor : System.Linq.Expressions.ExpressionVisitor
public abstract class QueryableMethodTranslatingExpressionVisitor : System.Linq.Expressions.ExpressionVisitor
[<System.Runtime.CompilerServices.Nullable(0)>]
type QueryableMethodTranslatingExpressionVisitor = class
    inherit ExpressionVisitor
type QueryableMethodTranslatingExpressionVisitor = class
    inherit ExpressionVisitor
Public MustInherit Class QueryableMethodTranslatingExpressionVisitor
Inherits ExpressionVisitor
繼承
QueryableMethodTranslatingExpressionVisitor
衍生
屬性

備註

更多資訊與範例請參閱「 資料庫提供者與擴充的實作 」以及「 EF Core 查詢如何運作 」。

建構函式

名稱 Description
QueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, Boolean)

一個能將查詢方法轉換成查詢的類別。

此類型通常由資料庫提供者(及其他擴充功能)使用。 它通常不被用於應用程式程式碼中。

QueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, QueryCompilationContext, Boolean)

一個能將查詢方法轉換成查詢的類別。

此類型通常由資料庫提供者(及其他擴充功能)使用。 它通常不被用於應用程式程式碼中。

屬性

名稱 Description
Dependencies

此服務的依賴關係。

QueryCompilationContext

查詢編譯上下文物件用於目前編譯。

TranslationErrorDetails

關於翻譯過程中遇到錯誤的詳細資訊。

方法

名稱 Description
AddTranslationErrorDetails(String)

新增翻譯過程中遇到錯誤的詳細資訊。

CreateShapedQueryExpression(IEntityType)

為該實體類型建立 a ShapedQueryExpression 。

CreateShapedQueryExpression(Type)
已淘汰.

透過在模型中尋找該類型實體類型,建立該類型。ShapedQueryExpression

CreateSubqueryVisitor()

建立一個訪客,專門用來翻譯子查詢。TranslateSubquery(Expression)

MarkShaperNullable(Expression)

在給定的 shaper 表達式中標記該實體 shaper 為可空。

Translate(Expression)

將表達式轉換成等效的 SQL 表示法。

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, IReadOnlyList<QueryableMethodTranslatingExpressionVisitor.ExecuteUpdateSetter>)

將方法翻譯 ExecuteUpdate<TSource>(IQueryable<TSource>, Action<UpdateSettersBuilder<TSource>>) 至給定來源。

TranslateExecuteUpdate(ShapedQueryExpression, LambdaExpression)

將方法翻譯 ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>) 至給定來源。

TranslateFirstOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

將方法或FirstOrDefault<TSource>(IQueryable<TSource>)其其他過載轉換First<TSource>(IQueryable<TSource>)於給定來源上。

TranslateFullJoin(ShapedQueryExpression, ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

在給定來源上翻譯 FullJoin 版本。

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>>) 至給定來源。

TranslateInlineQueryRoot(InlineQueryRootExpression)

翻譯一個 InlineQueryRootExpression,代表一個可查詢的集合,在查詢中內行表達。

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>>) 至給定來源。

TranslateLastOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

將方法或LastOrDefault<TSource>(IQueryable<TSource>)其其他過載轉換Last<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>) 至給定來源。

TranslateMemberAccess(Expression, MemberIdentity)

翻譯會員存取權。 當實體類型的屬性代表一個集合,可組合可查詢的 LINQ 運算子時,會使用此方法。

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>>) 方法對給定來源進行。

TranslateParameterQueryRoot(ParameterQueryRootExpression)

將一個 ParameterQueryRootExpression,代表作為查詢中參數參考的可查詢集合。

TranslateResultSelectorForJoin(ShapedQueryExpression, LambdaExpression, Expression, Type)
已淘汰.

將連接操作的結果選擇器轉換。

TranslateReverse(ShapedQueryExpression)

將方法翻譯 Reverse<TSource>(IQueryable<TSource>) 至給定來源。

TranslateRightJoin(ShapedQueryExpression, ShapedQueryExpression, LambdaExpression, LambdaExpression, LambdaExpression)

將 LeftJoin 翻譯到給定的來源上。

TranslateSelect(ShapedQueryExpression, LambdaExpression)

將方法翻譯 Select<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) 至給定來源。

TranslateSelectMany(ShapedQueryExpression, LambdaExpression, LambdaExpression)

將方法翻譯 SelectMany<TSource,TCollection,TResult>(IQueryable<TSource>, Expression<Func<TSource, IEnumerable<TCollection>>>, Expression<Func<TSource,TCollection, TResult>>) 至給定來源。

TranslateSelectMany(ShapedQueryExpression, LambdaExpression)

將方法翻譯 SelectMany<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,IEnumerable<TResult>>>) 至給定來源。

TranslateSingleOrDefault(ShapedQueryExpression, LambdaExpression, Type, Boolean)

將方法或SingleOrDefault<TSource>(IQueryable<TSource>)其其他過載轉換Single<TSource>(IQueryable<TSource>)於給定來源上。

TranslateSkip(ShapedQueryExpression, Expression)

將方法翻譯 Skip<TSource>(IQueryable<TSource>, Int32) 至給定來源。

TranslateSkipWhile(ShapedQueryExpression, LambdaExpression)

將方法翻譯 SkipWhile<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) 至給定來源。

TranslateSubquery(Expression)

翻譯給定的子查詢。

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)

一個能將查詢方法轉換成查詢的類別。

此類型通常由資料庫提供者(及其他擴充功能)使用。 它通常不被用於應用程式程式碼中。

VisitExtension(Expression)

一個能將查詢方法轉換成查詢的類別。

此類型通常由資料庫提供者(及其他擴充功能)使用。 它通常不被用於應用程式程式碼中。

VisitMember(MemberExpression)

一個能將查詢方法轉換成查詢的類別。

此類型通常由資料庫提供者(及其他擴充功能)使用。 它通常不被用於應用程式程式碼中。

VisitMethodCall(MethodCallExpression)

一個能將查詢方法轉換成查詢的類別。

此類型通常由資料庫提供者(及其他擴充功能)使用。 它通常不被用於應用程式程式碼中。

適用於