/// <summary> /// remove /// </summary> /// <param name="query"></param> /// <returns></returns> public async Task <IActivationRecord> RemoveAsync(IQuery query) { await WarehouseManager.RemoveAsync <ET>(query); var record = DefaultActivationRecord <ET, DAI> .CreateRemoveByConditionRecord(query); return(record); }
/// <summary> /// remove data /// </summary> /// <param name="data">data</param> /// <param name="activationOption">activation option</param> /// <returns></returns> public async Task <IActivationRecord> RemoveAsync(ET data, ActivationOption activationOption = null) { await WarehouseManager.RemoveAsync(data).ConfigureAwait(false); var identityValue = data.GetIdentityValue(); return(DefaultActivationRecord <ET, DAI> .CreateRemoveObjectRecord(identityValue, activationOption)); }
/// <summary> /// remove data /// </summary> /// <typeparam name="ET">entity</typeparam> /// <typeparam name="DAI">persistent data service</typeparam> /// <param name="datas">datas</param> /// <returns></returns> public async Task <IActivationRecord> RemoveAsync(params ET[] datas) { if (datas.IsNullOrEmpty()) { return(null); } await WarehouseManager.RemoveAsync(datas); var packageRecord = DefaultActivationRecord <ET, DAI> .CreatePackageRecord(); foreach (var data in datas) { var identityValue = data.GetIdentityValue(); packageRecord.AddFollowRecords(DefaultActivationRecord <ET, DAI> .CreateRemoveObjectRecord(identityValue)); } return(packageRecord); }