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 された が自然に順序付けされているかどうかを判断します。つまり、元の LINQ クエリに明示的な順序が含まれていたためではなく、JSON 配列の自然な順序を保持するために EF によって順序が自動的に追加されたことを意味します。

IsOrdered(SelectExpression)

指定した が SelectExpression 順序付けされているかどうかを判断します。通常は順序が追加されているためです。

IsValidSelectExpressionForExecuteDelete(SelectExpression, EntityShaperExpression, TableExpression)

現在の選択式をそのまま使用して削除操作を実行するか、サブクエリにプッシュダウンする必要があるかどうかを確認します。

IsValidSelectExpressionForExecuteDelete(SelectExpression, StructuralTypeShaperExpression, TableExpression)

現在の選択式をそのまま使用して削除操作を実行できるか、サブクエリにプッシュダウンする必要があるかをチェックします。

IsValidSelectExpressionForExecuteUpdate(SelectExpression, EntityShaperExpression, TableExpression)

現在の select 式を更新実行操作に使用できるか、サブクエリとして結合する必要があるかどうかを検証します。

IsValidSelectExpressionForExecuteUpdate(SelectExpression, TableExpressionBase, TableExpression)

現在の select 式を更新実行操作に使用できるか、サブクエリとして結合する必要があるかどうかを検証します。

MarkShaperNullable(Expression)

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

(継承元 QueryableMethodTranslatingExpressionVisitor)
TransformJsonQueryToTable(JsonQueryExpression)

JSON ドキュメント内のコレクションに対して LINQ 演算子が構成されるときに呼び出されます。 指定JsonQueryExpressionされた (コレクションへのアクセスを表す) をプロバイダー固有の手段に変換して、JSON 配列をリレーショナル テーブル/行セット (OPENJSON SQL Serverなど) に拡張します。

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)

メソッドまたはそのFirstOrDefault<TSource>(IQueryable<TSource>)他のFirst<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)

ソースの指定されたラムダ式を同等の ShapedQueryExpression SQL 表現に変換します。

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>) オーバーロードを指定されたソースに変換します。

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 では unnest..)。既定の実装では、常に が返されます 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)

メソッドまたはその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)

指定されたサブクエリを変換します。

(継承元 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)

適用対象