Exemplo n.º 1
0
 public virtual IQueryable <T> GetEntitiesForPaging <T>(int pageNumber, int pageSize, Expression <Func <T, string> > orderName, string sortOrder, Expression <Func <T, bool> > exp) where T : class
 {
     using (DbEntities db = new DbEntities())
     {
         if (sortOrder == "asc") //升序排列
         {
             return(db.Set <T>().Where(exp).OrderBy(orderName).Skip((pageNumber - 1) * pageSize).Take(pageSize));
         }
         else
         {
             return(db.Set <T>().Where(exp).OrderByDescending(orderName).Skip((pageNumber - 1) * pageSize).Take(pageSize));
         }
     }
 }
Exemplo n.º 2
0
 public virtual T GetEntity <T>(Expression <Func <T, bool> > exp) where T : class
 {
     using (DbEntities db = new DbEntities())
     {
         return(db.Set <T>().Where(exp).SingleOrDefault());
     }
 }
Exemplo n.º 3
0
 public virtual int GetEntitiesCount <T>(Expression <Func <T, bool> > exp) where T : class
 {
     using (DbEntities db = new DbEntities())
     {
         return(db.Set <T>().Where(exp).Count());
     }
 }
Exemplo n.º 4
0
        public virtual void Delete <T>(T entity, bool isSubmit) where T : class
        {
            if (isSubmit && _dbEntities == null)
            {
                using (DbEntities db = new DbEntities())
                {
                    var obj = db.Set <T>();
                    if (entity != null)
                    {
                        obj.Attach(entity);
                        db.Entry(entity).State = System.Data.EntityState.Deleted;
                        obj.Remove(entity);
                        db.SaveChanges();
                    }
                }
            }
            else
            {
                _dbEntities.Set <T>().Attach(entity);
                _dbEntities.Entry(entity).State = System.Data.EntityState.Deleted;
                _dbEntities.Set <T>().Remove(entity);

                _dbEntities.SaveChanges();
            }
        }
Exemplo n.º 5
0
 /// <summary>
 /// 根据条件获取数据实体集合
 /// </summary>
 /// <typeparam name="T">实体类型</typeparam>
 /// <param name="exp">条件表达式</param>
 /// <param name="useBaseContext">是否使用类基础的context,以达到延迟加载的目的</param>
 /// <returns></returns>
 public virtual IQueryable <T> GetEntities <T>(Expression <Func <T, bool> > exp, bool useBaseContext = false) where T : class
 {
     if (useBaseContext)
     {
         return(_dbEntities.Set <T>().Where(exp));
     }
     using (DbEntities db = new DbEntities())
     {
         return(db.Set <T>().Where(exp));
     }
 }
Exemplo n.º 6
0
 public virtual T Insert <T>(T entity, bool isSubmit) where T : class
 {
     if (isSubmit && _dbEntities == null)
     {
         using (DbEntities db = new DbEntities())
         {
             var obj    = db.Set <T>();
             T   result = obj.Add(entity);
             db.SaveChanges();
             return(result);
         }
     }
     else
     {
         _dbEntities.Entry(entity);
         T result = _dbEntities.Set <T>().Add(entity);
         _dbEntities.SaveChanges();
         return(result);
     }
 }