Exemplo n.º 1
0
 /// <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());
     }
 }
Exemplo n.º 2
0
        /// <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());
            }
        }
Exemplo n.º 3
0
 /// <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());
     }
 }