Beispiel #1
0
 public int GetCountByQuery(QueryInfo <T> query)
 {
     using (var db = new powerbjfEntities(conn))
     {
         return(db.Set <T>().AsNoTracking().Where(query.wheresql.Compile()).AsQueryable().Count());
     }
 }
Beispiel #2
0
 /// <summary>
 /// 查询集合中排序后的第一个
 /// </summary>
 /// <param name="where"></param>
 /// <param name="orderby"></param>
 /// <returns></
 /// returns>
 public T SelectFirst(Expression <Func <T, bool> > where, Expression <Func <T, Object> > orderby)
 {
     using (var db = new powerbjfEntities(conn))
     {
         return(db.Set <T>().Where(where.Compile()).AsQueryable().OrderByDescending(orderby).FirstOrDefault());
     }
 }
Beispiel #3
0
 /// <summary>
 /// lamada分页搜索
 /// </summary>
 /// <param name="query"></param>
 /// <param name="isdesc"></param>
 /// <returns></returns>
 public List <T> SelectPageList(QueryInfo <T> query, bool isdesc = true)
 {
     using (var db = new powerbjfEntities(conn))
     {
         if (isdesc)
         {
             return(db.Set <T>().AsNoTracking()
                    .Where(query.wheresql.Compile())
                    .AsQueryable()
                    .OrderByDescending(query.orderby)
                    .Skip((query.pageindex - 1) * query.pagesize)
                    .Take(query.pagesize)
                    .ToList());
         }
         else
         {
             return(db.Set <T>().AsNoTracking()
                    .Where(query.wheresql.Compile())
                    .AsQueryable()
                    .OrderBy(query.orderby)
                    .Skip((query.pageindex - 1) * query.pagesize)
                    .Take(query.pagesize)
                    .ToList());
         }
     }
 }
Beispiel #4
0
 /// <summary>
 /// 查询单个实体
 /// </summary>
 /// <param name="where"></param>
 /// <returns></returns>
 public T SelectOne(Expression <Func <T, bool> > where)
 {
     using (var db = new powerbjfEntities(conn))
     {
         return(db.Set <T>().Where(where).AsNoTracking().SingleOrDefault());
     }
 }
Beispiel #5
0
 /// <summary>
 /// 查询实体集合
 /// </summary>
 /// <param name="where"></param>
 /// <returns></returns>
 public List <T> SelectList(Expression <Func <T, bool> > where)
 {
     using (var db = new powerbjfEntities(conn))
     {
         return(db.Set <T>().Where(where.Compile()).AsQueryable().ToList());
     }
 }
Beispiel #6
0
 public void ExcuteSql(string sql)
 {
     using (var newdb = new powerbjfEntities())
     {
         newdb.Database.ExecuteSqlCommand(sql);
     }
 }
Beispiel #7
0
 /// <summary>
 /// 真正删除
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public void Remove(T model)
 {
     using (var db = new powerbjfEntities(conn))
     {
         db.Set <T>().Remove(model);
         db.SaveChanges();
     }
 }
Beispiel #8
0
 public void ExcuteSql(string sql)
 {
     using (var db = new powerbjfEntities(conn))
     {
         db.Database.ExecuteSqlCommand(sql);
         db.SaveChanges();
     }
 }
Beispiel #9
0
 /// <summary>
 /// 执行修改
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public void Update(T model)
 {
     using (var db = new powerbjfEntities(conn))
     {
         db.Set <T>().AddOrUpdate(model);
         db.SaveChanges();
     }
 }
Beispiel #10
0
 public void RemoveList(List <T> list)
 {
     using (var db = new powerbjfEntities(conn))
     {
         foreach (var model in list)
         {
             db.Set <T>().Remove(model);
         }
         db.SaveChanges();
     }
 }
Beispiel #11
0
 /// <summary>
 /// 批量添加
 /// </summary>
 /// <param name="listmodel"></param>
 public void AddRange(List <T> listmodel)
 {
     using (var db = new powerbjfEntities(conn))
     {
         foreach (var model in listmodel)
         {
             db.Set <T>().Add(model);
         }
         db.SaveChanges();
     }
 }
        /// <summary>
        /// EF上下文对象,已存在就直接取,不存在就创建,保证线程内是唯一。
        /// 每次请求对应一个上下文
        /// </summary>
        public static DbContext CreateDbContext()
        {
            DbContext dbContext = (DbContext)CallContext.GetData("powerbjfEntities");

            if (dbContext == null)
            {
                dbContext = new powerbjfEntities();
                dbContext.Configuration.ValidateOnSaveEnabled = false;
                CallContext.SetData("powerbjfEntities", dbContext);
            }
            return(dbContext);
        }