Language

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 クエリのしくみ 」を参照してください。

コンストラクター

Name 説明
QueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, Boolean)

クエリ内のクエリ可能なメソッドを変換するクラス。

この型は、通常、データベース プロバイダー (およびその他の拡張機能) によって使用されます。 通常、アプリケーション コードでは使用されません。

QueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, QueryCompilationContext, Boolean)

クエリ内のクエリ可能なメソッドを変換するクラス。

この型は、通常、データベース プロバイダー (およびその他の拡張機能) によって使用されます。 通常、アプリケーション コードでは使用されません。

プロパティ

Name 説明
Dependencies

このサービスの依存関係。

QueryCompilationContext

現在のコンパイルのクエリ コンパイル コンテキスト オブジェクト。

TranslationErrorDetails

翻訳中に発生したエラーに関する詳細情報。

メソッド

Name 説明
AddTranslationErrorDetails(String)

翻訳中に発生したエラーに関する詳細情報を追加します。

CreateShapedQueryExpression(IEntityType)

指定したエンティティ型の ShapedQueryExpression を作成します。

CreateShapedQueryExpression(Type)
古い.

モデル内のエンティティ型を検索して、指定された型の ShapedQueryExpression を作成します。

CreateSubqueryVisitor()

TranslateSubquery(Expression)を介してサブクエリを翻訳するようにカスタマイズされたビジターを作成します。

MarkShaperNullable(Expression)

指定されたシェーパー式のエンティティ シェーパーを null 許容としてマークします。

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)

クエリ内のクエリ可能なメソッドを変換するクラス。

この型は、通常、データベース プロバイダー (およびその他の拡張機能) によって使用されます。 通常、アプリケーション コードでは使用されません。

適用対象