Language

RelationalQueryableMethodTranslatingExpressionVisitor クラス

定義

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

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

[System.Runtime.CompilerServices.Nullable(0)]
public class RelationalQueryableMethodTranslatingExpressionVisitor : Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor
public class RelationalQueryableMethodTranslatingExpressionVisitor : Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor
[<System.Runtime.CompilerServices.Nullable(0)>]
type RelationalQueryableMethodTranslatingExpressionVisitor = class
    inherit QueryableMethodTranslatingExpressionVisitor
type RelationalQueryableMethodTranslatingExpressionVisitor = class
    inherit QueryableMethodTranslatingExpressionVisitor
Public Class RelationalQueryableMethodTranslatingExpressionVisitor
Inherits QueryableMethodTranslatingExpressionVisitor
継承
RelationalQueryableMethodTranslatingExpressionVisitor
属性

コンストラクター

Name 説明
RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, IModel)

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

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

RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, QueryCompilationContext)

QueryableMethodTranslatingExpressionVisitor クラスの新しいインスタンスを作成します。

RelationalQueryableMethodTranslatingExpressionVisitor(QueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryableMethodTranslatingExpressionVisitorDependencies, RelationalQueryCompilationContext)

QueryableMethodTranslatingExpressionVisitor クラスの新しいインスタンスを作成します。

RelationalQueryableMethodTranslatingExpressionVisitor(RelationalQueryableMethodTranslatingExpressionVisitor)

QueryableMethodTranslatingExpressionVisitor クラスの新しいインスタンスを作成します。

フィールド

Name 説明
ValuesOrderingColumnName

これは、パブリック API と同じ互換性標準の対象ではなく、Entity Framework Core インフラストラクチャをサポートする内部 API です。 これは、任意のリリースで予告なしに変更または削除される可能性があります。 コード内で直接使用する場合は、細心の注意を払う必要があります。これを行うと、新しいEntity Framework Core リリースに更新するときにアプリケーションのエラーが発生する可能性があることを認識してください。

ValuesValueColumnName

これは、パブリック API と同じ互換性標準の対象ではなく、Entity Framework Core インフラストラクチャをサポートする内部 API です。 これは、任意のリリースで予告なしに変更または削除される可能性があります。 コード内で直接使用する場合は、細心の注意を払う必要があります。これを行うと、新しいEntity Framework Core リリースに更新するときにアプリケーションのエラーが発生する可能性があることを認識してください。

プロパティ

Name 説明
Dependencies

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

(継承元 QueryableMethodTranslatingExpressionVisitor)
QueryCompilationContext

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

(継承元 QueryableMethodTranslatingExpressionVisitor)
RelationalDependencies

このサービスのリレーショナル プロバイダー固有の依存関係。

TranslationErrorDetails

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

(継承元 QueryableMethodTranslatingExpressionVisitor)

メソッド

Name 説明
AddTranslationErrorDetails(String)

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

(継承元 QueryableMethodTranslatingExpressionVisitor)
ApplyInferredTypeMappings(Expression, IReadOnlyDictionary<ValueTuple<TableExpressionBase,String>,RelationalTypeMapping>)

最上位レベルの変換の終了時に呼び出され、クエリ可能な定数/パラメーターに対して推論された型マッピングが適用され、すべての SqlExpression に型マッピングがあることを確認します。

CreateSelect(IEntityType)

特定のエンティティ型のクエリを表すルート SelectExpression を作成するために使用されます。

CreateSelect(JsonQueryExpression, TableExpressionBase, String, Type, RelationalTypeMapping)

これは、パブリック API と同じ互換性標準の対象ではなく、Entity Framework Core インフラストラクチャをサポートする内部 API です。 これは、任意のリリースで予告なしに変更または削除される可能性があります。 コード内で直接使用する場合は、細心の注意を払う必要があります。これを行うと、新しいEntity Framework Core リリースに更新するときにアプリケーションのエラーが発生する可能性があることを認識してください。

CreateShapedQueryExpression(IEntityType)

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

CreateShapedQueryExpression(Type)
古い.

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

CreateSubqueryVisitor()

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

GenerateJsonPartialUpdateSetter(Expression, SqlExpression, SqlExpression)

JSON 列内に部分的な更新を実装するためのプロバイダー拡張ポイント。

IsNaturallyOrdered(SelectExpression)

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

IsOrdered(SelectExpression)

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

IsValidSelectExpressionForExecuteDelete(SelectExpression, EntityShaperExpression, TableExpression)

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

IsValidSelectExpressionForExecuteDelete(SelectExpression, StructuralTypeShaperExpression, TableExpression)
古い.

このメソッドは廃止されています。代わりに、1 つの SelectExpression パラメーターを受け入れるメソッドを使用してください。

IsValidSelectExpressionForExecuteDelete(SelectExpression)

現在の select 式を削除操作の実行に as-is 使用できるかどうか、またはサブクエリにプッシュダウンする必要があるかどうかを確認します。

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

メソッド ExecuteUpdate<TSource>(IQueryable<TSource>, Action<UpdateSettersBuilder<TSource>>) 特定のソースに変換します。

TranslateExecuteUpdate(ShapedQueryExpression, LambdaExpression)

メソッド ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>) 特定のソースに変換します。

TranslateExpression(Expression, Boolean)

指定された式を同等の SQL 表現に変換します。

TranslateExpression(Expression)

指定された式を同等の SQL 表現に変換します。

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)

インライン コレクションをクエリ可能な SQL VALUES 式に変換します。

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>) 特定のソースに変換します。

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を変換します。これは、クエリ内のパラメーターとして参照されるクエリ可能なコレクションを表します。

TranslatePrimitiveCollection(SqlExpression, IProperty, String)

プリミティブ値のパラメーターまたは列コレクションを変換します。 プロバイダーはこれをオーバーライドして、たとえば int[] 列やパラメーターをクエリ可能なテーブル (SQL Serverの場合は OPENJSON、PostgreSQL では最新でない)に変換できます。既定の実装では常にnullが返されます (翻訳は返されません)。

TranslateResultSelectorForJoin(ShapedQueryExpression, LambdaExpression, Expression, Type)
古い.

結合操作の結果セレクターを変換します。

(継承元 QueryableMethodTranslatingExpressionVisitor)
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>>>) 特定のソースに変換します。

TranslateSetters(ShapedQueryExpression, IReadOnlyList<QueryableMethodTranslatingExpressionVisitor.ExecuteUpdateSetter>, TableExpressionBase)

これは、パブリック API と同じ互換性標準の対象ではなく、Entity Framework Core インフラストラクチャをサポートする内部 API です。 これは、任意のリリースで予告なしに変更または削除される可能性があります。 コード内で直接使用する場合は、細心の注意を払う必要があります。これを行うと、新しいEntity Framework Core リリースに更新するときにアプリケーションのエラーが発生する可能性があることを認識してください。

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>>) 特定のソースに変換します。

TrySerializeScalarToJson(JsonScalarExpression, SqlExpression, SqlExpression)

リレーショナル スカラー値を JSON にシリアル化し、 TranslateExecuteUpdate(ShapedQueryExpression, IReadOnlyList<QueryableMethodTranslatingExpressionVisitor.ExecuteUpdateSetter>)内の JSON 列内で部分的に更新します。

TryTranslateSetters(ShapedQueryExpression, IReadOnlyList<QueryableMethodTranslatingExpressionVisitor.ExecuteUpdateSetter>, IReadOnlyList<ColumnValueSetter>, TableExpressionBase)

これは、パブリック API と同じ互換性標準の対象ではなく、Entity Framework Core インフラストラクチャをサポートする内部 API です。 これは、任意のリリースで予告なしに変更または削除される可能性があります。 コード内で直接使用する場合は、細心の注意を払う必要があります。これを行うと、新しいEntity Framework Core リリースに更新するときにアプリケーションのエラーが発生する可能性があることを認識してください。

VisitConstant(ConstantExpression)

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

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

(継承元 QueryableMethodTranslatingExpressionVisitor)
VisitExtension(Expression)

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

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

VisitExtension(Expression)

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

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

(継承元 QueryableMethodTranslatingExpressionVisitor)
VisitInlineQueryRoot(InlineQueryRootExpression)

インライン コレクションをクエリ可能な SQL VALUES 式に変換します。

VisitMember(MemberExpression)

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

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

(継承元 QueryableMethodTranslatingExpressionVisitor)
VisitMethodCall(MethodCallExpression)

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

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

VisitMethodCall(MethodCallExpression)

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

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

(継承元 QueryableMethodTranslatingExpressionVisitor)

適用対象