/// <summary> /// 修改指定实体 /// </summary> /// <param name="entity">需要修改的项</param> /// <param name="specification">规约</param> public virtual void Update(Action <TEntity> entity, IANSHSpecificationCommit <TEntity> specification) { Get(specification, tracking: true).ToList().ForEach((item) => { entity(item); //Ignore (item); DbEntity.Update(item); }); if (specification?.CommitSaveChanges == CommitSaveChangesTypes.Reload) { SaveChangesReload(); } else { SaveChangesCoverage(); } }
/// <summary> /// 删除指定实体 /// </summary> /// <param name="specification">规约</param> /// <param name="cascade">联级删除</param> public virtual void Delete(IANSHSpecificationCommit <TEntity> specification = null, Func <IQueryable <TEntity>, IQueryable <TEntity> > cascade = null) { var iqueryable = Get(specification, tracking: true); if (cascade != null) { iqueryable = cascade(iqueryable); } DbEntity.RemoveRange(iqueryable); if (specification?.CommitSaveChanges == CommitSaveChangesTypes.Reload) { SaveChangesReload(); } else { SaveChangesCoverage(); } }
/// <summary> /// 删除指定实体 /// </summary> /// <param name="specification">规约</param> public virtual void Delete(IANSHSpecificationCommit <TAggregateRoot> specification = null) => Repository.Delete(specification);
/// <summary> /// 修改指定实体 /// </summary> /// <param name="action">需要修改的项</param> /// <param name="specification">规约</param> public virtual void Update(Action <TAggregateRoot> action, IANSHSpecificationCommit <TAggregateRoot> specification = null) => Repository.Update(action, specification);
/// <summary> /// 删除指定实体 /// </summary> /// <param name="specification">规约</param> public void Delete(IANSHSpecificationCommit <TAggregateRoot> specification = null) { Work.Register <TAggregateRootContxt> ().Delete(specification); }
/// <summary> /// 修改指定实体 /// </summary> /// <param name="action">需要修改的项</param> /// <param name="specification">规约</param> public void Update(Action <TAggregateRoot> action, IANSHSpecificationCommit <TAggregateRoot> specification = null) { Work.Register <TAggregateRootContxt> ().Update(action, specification); }