MVC增删改查

150 阅读1分钟

///

/// 删除实体(软删除) /// /// /// public bool Delete(T entity) { //将对象附加到EF容器中 db.Set().Attach(entity);

        //软删除
        entity.IsDeleted = true;
         db.Entry<T>(entity).State = EntityState.Modified;

        return db.SaveChanges() > 0;
       
    }
    /// <summary>
    /// 查询实体
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    public T Get(Expression<Func<T,bool>> whereLambda)
    {         
            return GetList(whereLambda).FirstOrDefault();
      
    }
    /// <summary>
    /// 查询列表
    /// </summary>
    /// <param name="whereLambda"></param>
    /// <returns></returns>
    public IQueryable<T> GetList(Expression<Func<T, bool>> whereLambda)
    {
        //对软删除的数据进行过滤
        return db.Set<T>().Where(e=>!e.IsDeleted).Where(whereLambda);

    }
    /// <summary>
    /// 查询列表支持排序
    /// </summary>
    /// <typeparam name="TKey"></typeparam>
    /// <param name="whereLambda"></param>
    /// <param name="orderByLemdba"></param>
    /// <param name="isAsc"></param>
    /// <returns></returns>
    public IQueryable<T> GetList<TKey>(Expression<Func<T, bool>> whereLambda, Expression<Func<T, TKey>> orderByLemdba,bool isAsc=true)
    {  
        if (isAsc)
        {
            return GetList(whereLambda).OrderBy(orderByLemdba);
        }
        else
        {
            return GetList(whereLambda).OrderByDescending(orderByLemdba);
        }

    }