/// <summary> /// 修改实体 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual int Update(T entity) { using (var dbContext = new DcContext()) { if (!dbContext.Set <T>().Local.Contains(entity)) { dbContext.Set <T>().Attach(entity); } entity.UpdateTime = DateTime.Now; dbContext.Entry(entity).State = EntityState.Modified; return(dbContext.SaveChanges()); } }
/// <summary> /// 删除实体 /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual int Delete(T entity) { using (var dbContext = new DcContext()) { if (!dbContext.Set <T>().Local.Contains(entity)) { dbContext.Set <T>().Attach(entity); } (entity as ISoftDelete).IsDeleted = true; dbContext.Entry <T>(entity).State = EntityState.Modified; return(dbContext.SaveChanges()); } }
/// <summary> /// 批量删除实体 by some where /// </summary> /// <param name="entity"></param> /// <returns></returns> public virtual int Deletes(Expression <Func <T, bool> > where) { using (var dbContext = new DcContext()) { foreach (var entity in dbContext.Set <T>().Where(where)) { if (entity is ISoftDelete) { (entity as ISoftDelete).IsDeleted = true; dbContext.Entry <T>(entity).State = EntityState.Modified; } else { dbContext.Set <T>().Remove(entity); } } return(dbContext.SaveChanges()); } }