/// <summary> /// 修改 /// </summary> /// <param name="entities"></param> public virtual int Update(IEnumerable <TEntity> entities) { Set.UpdateRange(entities); int count; try { count = Work.AutoSaveChanges(); } catch (DbUpdateConcurrencyException ex) { var keys = GetKeysByDbUpdateConcurrencyException(ex); throw new HandelArrayException(MessageCodeOption.Bad_Update, keys); } return(count); }
/// <summary> /// 根据主键删除 /// </summary> /// <param name="arrayKeyValue"></param> /// <param name="deletedCallback">删除后的回调</param> /// <returns></returns> public virtual int Delete(TKey[] arrayKeyValue, Action <IEnumerable <TEntity> >?deletedCallback = default) { var array = Find(arrayKeyValue); Set.RemoveRange(array); int count; try { count = Work.AutoSaveChanges(); } catch (DbUpdateConcurrencyException ex) { var keys = GetKeysByDbUpdateConcurrencyException(ex); throw new HandelArrayException(MessageCodeOption.Bad_Update, keys); } if ((array?.Any() ?? false) && count > 0) { deletedCallback?.Invoke(array); DeletedByKey?.Invoke(this, array); } return(count); }
/// <summary> /// 创建 /// </summary> /// <param name="entities"></param> /// <returns></returns> public virtual int Create(IEnumerable <TEntity> entities) { Set.AddRange(entities); return(Work.AutoSaveChanges()); }
/// <summary> /// 创建 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual int Create(TEntity entity) { Set.Add(entity); return(Work.AutoSaveChanges()); }