次の方法で共有


RelationalQueryableMethodTranslatingExpressionVisitor.IsValidSelectExpressionForExecuteDelete メソッド

定義

オーバーロード

IsValidSelectExpressionForExecuteDelete(SelectExpression, EntityShaperExpression, TableExpression)

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

IsValidSelectExpressionForExecuteDelete(SelectExpression, StructuralTypeShaperExpression, TableExpression)

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

IsValidSelectExpressionForExecuteDelete(SelectExpression, EntityShaperExpression, TableExpression)

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

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

パラメーター

selectExpression
SelectExpression

検証する select 式。

entityShaperExpression
EntityShaperExpression

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

tableExpression
TableExpression

行の削除元のテーブル式。

戻り値

現在の true select 式をそのまま削除できる場合は を返します。それ以外の場合は false を返します。

注釈

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

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

適用対象

IsValidSelectExpressionForExecuteDelete(SelectExpression, StructuralTypeShaperExpression, TableExpression)

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

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

パラメーター

selectExpression
SelectExpression

検証する select 式。

shaper
StructuralTypeShaperExpression

削除操作を適用する構造型シェーパー式。

tableExpression
TableExpression

行の削除元のテーブル式。

戻り値

現在の true select 式をそのまま削除できる場合は を返します。それ以外の場合は false を返します。

注釈

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

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

適用対象