CRUDServiceBaseTEntity, TKey, TInput, TFilterDeleteByFilterAsync Method

删除指定过滤器代表的实体。

Definition

Namespace: QuickAdmin.Service.CRUD
Assembly: QuickAdmin.Net (in QuickAdmin.Net.dll) Version: 2.0.10
C#
public virtual Task<IServiceResult<int>> DeleteByFilterAsync(
	TFilter filter,
	CancellationToken cancellationToken = default
)

Parameters

filter  TFilter
过滤器。
cancellationToken  CancellationToken  (Optional)
用于取消操作的令牌。

Return Value

TaskIServiceResultint
服务调用结果。若成功,其数据为影响的行数。

Implements

ICRUDServiceTEntity, TKey, TInput, TFilterDeleteByFilterAsync(TFilter, CancellationToken)

Remarks

此方法内部:
当实体是软删除类实体时,通过调用 GetFilteredIUpdateAsync(TFilter, CancellationToken) 方法; 否则,通过调用 GetFilteredIDeleteAsync(TFilter, CancellationToken) 方法 来构造过滤条件,然后执行更新或删除语句。

在执行删除操作前会检查 IUpdate 或 IDelete 是否有过滤条件,若没有将不执行任何操作,并返回一个表示成功的服务调用结果,避免全表删除。

方法内没有检测满足条件的实体当前能否被删除。

Exceptions

ArgumentNullExceptionfilternull

See Also