/// <summary> /// 级联删除 /// </summary> /// <param name="parent">被删除的实体</param> public void CascadeDelete(params Schema.Domain.Entity[] parent) { if (parent.IsEmpty()) { return; } var entityIds = parent.Select(x => x.EntityId).ToArray(); var deleteds = _duplicateRuleRepository.Query(x => x.EntityId.In(entityIds)); if (deleteds.NotEmpty()) { DeleteCore(deleteds.ToArray()); } }
public List <DuplicateRule> Query(Func <QueryDescriptor <DuplicateRule>, QueryDescriptor <DuplicateRule> > container) { QueryDescriptor <DuplicateRule> q = container(QueryDescriptorBuilder.Build <DuplicateRule>()); var datas = _duplicateRuleRepository.Query(q)?.ToList(); WrapLocalizedLabel(datas); return(datas); }
public bool UpdateState(IEnumerable <Guid> ids, bool isEnabled) { var context = UpdateContextBuilder.Build <DuplicateRule>(); context.Set(f => f.StateCode, isEnabled ? RecordState.Enabled : RecordState.Disabled); context.Where(f => f.DuplicateRuleId.In(ids)); var flag = _duplicateRuleRepository.Update(context); if (flag) { var updated = _duplicateRuleRepository.Query(x => x.DuplicateRuleId.In(ids)); foreach (var item in updated) { //set to cache _cacheService.SetEntity(item); } } return(flag); }