次の方法で共有


RelationalQueryableMethodTranslatingExpressionVisitor.IsValidSelectExpressionForExecuteUpdate メソッド

定義

オーバーロード

IsValidSelectExpressionForExecuteUpdate(SelectExpression, EntityShaperExpression, TableExpression)

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

IsValidSelectExpressionForExecuteUpdate(SelectExpression, TableExpressionBase, TableExpression)

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

IsValidSelectExpressionForExecuteUpdate(SelectExpression, EntityShaperExpression, TableExpression)

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

protected virtual bool IsValidSelectExpressionForExecuteUpdate (Microsoft.EntityFrameworkCore.Query.SqlExpressions.SelectExpression selectExpression, Microsoft.EntityFrameworkCore.Query.EntityShaperExpression entityShaperExpression, out Microsoft.EntityFrameworkCore.Query.SqlExpressions.TableExpression? tableExpression);
abstract member IsValidSelectExpressionForExecuteUpdate : Microsoft.EntityFrameworkCore.Query.SqlExpressions.SelectExpression * Microsoft.EntityFrameworkCore.Query.EntityShaperExpression * TableExpression -> bool
override this.IsValidSelectExpressionForExecuteUpdate : Microsoft.EntityFrameworkCore.Query.SqlExpressions.SelectExpression * Microsoft.EntityFrameworkCore.Query.EntityShaperExpression * TableExpression -> bool
Protected Overridable Function IsValidSelectExpressionForExecuteUpdate (selectExpression As SelectExpression, entityShaperExpression As EntityShaperExpression, ByRef tableExpression As TableExpression) As Boolean

パラメーター

selectExpression
SelectExpression

検証する select 式。

entityShaperExpression
EntityShaperExpression

更新操作が適用されているエンティティ シェーパー式。

tableExpression
TableExpression

行が削除されるテーブル式。

戻り値

現在の true select 式をそのまま更新に使用できる場合は を false 返します。それ以外の場合は を返します。

注釈

既定では、muli-table select 式のみがサポートされ、必要に応じて述語が使用されます。

プロバイダーはこれをオーバーライドして、サブクエリにプッシュダウンすることなく、より多くの選択式機能をサポートできます。 この場合、機能の SQL 生成サポートを追加するには、プロバイダーの QuerySqlGenerator でも VisitUpdate をオーバーライドする必要があります。

適用対象

IsValidSelectExpressionForExecuteUpdate(SelectExpression, TableExpressionBase, TableExpression)

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

protected virtual bool IsValidSelectExpressionForExecuteUpdate (Microsoft.EntityFrameworkCore.Query.SqlExpressions.SelectExpression selectExpression, Microsoft.EntityFrameworkCore.Query.SqlExpressions.TableExpressionBase targetTable, out Microsoft.EntityFrameworkCore.Query.SqlExpressions.TableExpression? tableExpression);
abstract member IsValidSelectExpressionForExecuteUpdate : Microsoft.EntityFrameworkCore.Query.SqlExpressions.SelectExpression * Microsoft.EntityFrameworkCore.Query.SqlExpressions.TableExpressionBase * TableExpression -> bool
override this.IsValidSelectExpressionForExecuteUpdate : Microsoft.EntityFrameworkCore.Query.SqlExpressions.SelectExpression * Microsoft.EntityFrameworkCore.Query.SqlExpressions.TableExpressionBase * TableExpression -> bool
Protected Overridable Function IsValidSelectExpressionForExecuteUpdate (selectExpression As SelectExpression, targetTable As TableExpressionBase, ByRef tableExpression As TableExpression) As Boolean

パラメーター

selectExpression
SelectExpression

検証する select 式。

targetTable
TableExpressionBase

更新する行を含むターゲット テーブル。

tableExpression
TableExpression

更新する行を含む、指定された targetTableに対応するテーブル式。

戻り値

現在の true select 式をそのまま更新に使用できる場合は を false 返します。それ以外の場合は を返します。

注釈

既定では、複数テーブルの選択式のみがサポートされ、必要に応じて述語が使用されます。

プロバイダーはこれをオーバーライドして、サブクエリにプッシュダウンすることなく、より多くの選択式機能をサポートできます。 この場合、機能の SQL 生成サポートを追加するには、プロバイダーの QuerySqlGenerator でも VisitUpdate をオーバーライドする必要があります。

適用対象