Exemple #1
0
        public virtual List <T> GetVMsBySql <T>(string commandText, params object[] parameters)
        {
            var result = new List <T>();

            using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
            {
                if (string.IsNullOrEmpty(commandText))
                {
                    throw new Exception(cmdTextIsNError);
                }

                var quertResult = Entities.Database.SqlQuery(typeof(T), commandText, parameters).GetEnumerator();
                try
                {
                    while (quertResult.MoveNext())
                    {
                        var item = quertResult.Current;
                        result.Add((T)item);
                    }
                }
                catch (Exception e)
                {
                    throw e;
                }

                return(result);
            }
        }
Exemple #2
0
        public virtual bool UpdateBatch(List <T> entitys)
        {
            using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
            {
                try
                {
                    foreach (var entity in entitys)
                    {
                        Entities.Entry <T>(entity).State = System.Data.Entity.EntityState.Modified;
                        var result1 = Entities.SaveChanges();
                        if (result1 <= 0)
                        {
                            Entities.ChangeTracker.DetectChanges();
                            return(false);
                        }
                    }

                    return(true);
                }
                catch (DbEntityValidationException)
                {
                    //throw ee;
                    return(false);
                }
                catch (Exception)
                {
                    //LogHelper.WriteLog("", e);
                    //throw e;
                    return(false);
                }
            }
        }
Exemple #3
0
 /// <summary>
 /// 插入Entity
 /// </summary>
 /// <param cookieName="model"></param>
 /// <returns></returns>
 public virtual T InsertReturn(T entity)
 {
     using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
     {
         try
         {
             Entities.Entry <T>(entity).State = System.Data.Entity.EntityState.Added;
             if (Entities.SaveChanges() > 0)
             {
                 return(entity);
             }
             else
             {
                 return(null);
             }
         }
         catch (DbEntityValidationException dbEx)
         {
             //LogHelper.WriteLog("", dbEx);
             System.Diagnostics.Debug.WriteLine(dbEx.Message);
             throw dbEx;
         }
         catch (Exception ee)
         {
             //LogHelper.WriteLog("", ee);
             System.Diagnostics.Debug.WriteLine(ee.Message);
             throw ee;
         }
     }
 }
Exemple #4
0
 public virtual IEnumerable <U> GetEntities <U>(Func <T, bool> exp, Func <T, U> select)
 {
     using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
     {
         var querys = Entities.Set <T>().Where(exp).Select(select);
         //string sql = (((System.Data.Objects.ObjectQuery)querys.AsQueryable()).ToTraceString());
         return(querys.ToList());
     }
 }
Exemple #5
0
        /// <summary>
        /// 计算总个数(分页)
        /// </summary>
        /// <param cookieName="commandText">>Sql 语句</param>
        /// <returns></returns>
        public virtual int GetEntitiesCount(string commandText)
        {
            using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
            {
                if (string.IsNullOrEmpty(commandText))
                {
                    throw new Exception(cmdTextIsNError);
                }

                return(Entities.Database.SqlQuery <T>(commandText).Count());
            }
        }
Exemple #6
0
 public virtual U GetEntity <U>(Func <T, bool> exp, Func <T, U> select)
 {
     using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
     {
         var entity = Entities.Set <T>().Where(exp).Select(select).SingleOrDefault();
         //if (entity != null)
         //{
         //    Entities.Entry<T>(entity).State = System.Data.Entity.EntityState.Detached;
         //}
         return(entity);
     }
 }
Exemple #7
0
        /// <summary>
        /// 根据条件查找
        /// </summary>
        /// <param cookieName="exp">lambda查询条件where</param>
        /// <returns></returns>
        public virtual T GetEntity(Func <T, bool> exp)
        {
            using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
            {
                var entity = Entities.Set <T>().Where(exp).SingleOrDefault();
                if (entity != null)
                {
                    Entities.Entry <T>(entity).State = System.Data.Entity.EntityState.Detached;
                }

                return(entity);
            }
        }
Exemple #8
0
        public virtual IEnumerable <T> GetEntities(string commandText, params object[] parameters)
        {
            using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
            {
                if (string.IsNullOrEmpty(commandText))
                {
                    throw new Exception(cmdTextIsNError);
                }

                var objectContext = ((IObjectContextAdapter)Entities).ObjectContext;
                return(objectContext.ExecuteStoreQuery <T>(commandText, new object[] { }).ToList());
            }
        }
Exemple #9
0
        /// <summary>
        /// 删除Entity
        /// </summary>
        /// <param cookieName="entity"></param>
        /// <returns></returns>
        public virtual bool Delete(T entity)
        {
            using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
            {
                if (entity != null)
                {
                    Entities.Entry <T>(entity).State = System.Data.Entity.EntityState.Deleted;
                    return(Entities.SaveChanges() > 0);
                }

                return(false);
            }
        }
Exemple #10
0
 /// <summary>
 /// 计算总个数(分页)
 /// </summary>
 /// <param cookieName="exp">Lambda条件的where</param>
 /// <returns></returns>
 public virtual int GetEntitiesCount(Func <T, bool> exp)
 {
     using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
     {
         try
         {
             return(Entities.Set <T>().Count(exp));
         }
         catch (Exception)
         {
             return(0);
         }
     }
 }
Exemple #11
0
        /// <summary>
        /// 根据条件查找
        /// </summary>
        /// <param cookieName="CommandText">Sql语句</param>
        /// <param cookieName="objParams">可变参数</param>
        /// <returns></returns>
        public virtual T GetEntity(string CommandText)
        {
            using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
            {
                var entity = Entities.Database.SqlQuery <T>("select * from " + typeof(T).Name + " where " + CommandText)
                             .SingleOrDefault();
                if (entity != null)
                {
                    Entities.Entry <T>(entity).State = System.Data.Entity.EntityState.Detached;
                }

                return(entity);
            }
        }
Exemple #12
0
 public int ExcuteSqlCommand(string sql, params object[] parameters)
 {
     using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
     {
         try
         {
             return(Entities.Database.ExecuteSqlCommand(sql, parameters));
         }
         catch (Exception e)
         {
             //LogHelper.WriteLog("执行sql出错:" + sql, e);
             throw e;
         }
     }
 }
Exemple #13
0
 /// <summary>
 /// 获取所有Entity
 /// </summary>
 /// <param cookieName="exp">Lambda条件的where</param>
 /// <returns></returns>
 public virtual List <T> GetEntities(Func <T, bool> exp)
 {
     using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
     {
         try
         {
             var data = Entities.Set <T>().Where(exp).ToList();
             return(data);
         }
         catch (Exception e)
         {
             throw e;
         }
     }
 }
Exemple #14
0
 /// <summary>
 /// 分页查询(Linq分页方式)
 /// </summary>
 /// <param cookieName="pageNumber">当前页</param>
 /// <param cookieName="pageSize">页码</param>
 /// <param cookieName="orderName">lambda排序名称</param>
 /// <param cookieName="sortOrder">排序(升序or降序)</param>
 /// <param cookieName="exp">lambda查询条件where</param>
 /// <returns></returns>
 public virtual IEnumerable <T> GetEntitiesForPaging(int pageNumber, int pageSize, Func <T, string> orderName,
                                                     string sortOrder, Func <T, bool> exp)
 {
     using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
     {
         if (sortOrder == "asc") //升序排列
         {
             return(Entities.Set <T>().Where(exp).OrderBy(orderName).Skip((pageNumber - 1) * pageSize)
                    .Take(pageSize).ToList());
         }
         else
         {
             return(Entities.Set <T>().Where(exp).OrderByDescending(orderName).Skip((pageNumber - 1) * pageSize)
                    .Take(pageSize).ToList());
         }
     }
 }
Exemple #15
0
 /// <summary>
 /// 更新Entity(注意这里使用的傻瓜式更新,可能性能略低)
 /// </summary>
 /// <param cookieName="model"></param>
 /// <returns></returns>
 public virtual bool Update(T entity)
 {
     using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
     {
         try
         {
             Entities.Entry <T>(entity).State = System.Data.Entity.EntityState.Modified;
             var result = Entities.SaveChanges();
             return(result > 0);
         }
         catch (DbEntityValidationException ee)
         {
             throw ee;
         }
         catch (Exception e)
         {
             throw e;
         }
     }
 }
Exemple #16
0
        /// <summary>
        /// 跟前Sql语句返回ViewModel集合,ViewModel必须继承自Model,并且只能获取Model有的字段,适用于单表查询
        /// </summary>
        /// <param cookieName="t">ViewModel的类型</param>
        /// <param cookieName="commandText">sql</param>
        /// <param cookieName="parameters">参数</param>
        /// <returns></returns>
        public List <T> GetVMExsBySql(Type t, string commandText, params object[] parameters)
        {
            var result = new List <T>();

            using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
            {
                if (string.IsNullOrEmpty(commandText))
                {
                    throw new Exception(cmdTextIsNError);
                }

                var quertResult = Entities.Database.SqlQuery(t, commandText, parameters).GetEnumerator();
                while (quertResult.MoveNext())
                {
                    var item = (T)quertResult.Current;
                    result.Add(item);
                }

                return(result);
            }
        }
Exemple #17
0
        /// <summary>
        /// 批量插入
        /// </summary>
        /// <param name="entities"></param>
        /// <returns></returns>
        public bool InsertBatch(IEnumerable <T> entities)
        {
            using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
            {
                try
                {
                    foreach (var entity in entities)
                    {
                        Entities.Entry <T>(entity).State = System.Data.Entity.EntityState.Added;
                    }

                    return(Entities.SaveChanges() > 0);
                }

                catch (DbEntityValidationException ee)
                {
                    //LogHelper.WriteLog("", ee);
                    throw new Exception(ee.EntityValidationErrors.ElementAt(0).ValidationErrors.ElementAt(0)
                                        .ErrorMessage.ToString());
                }
            }
        }
Exemple #18
0
        /// <summary>
        /// 插入Entity
        /// </summary>
        /// <param cookieName="model"></param>
        /// <returns></returns>
        public virtual bool Insert(T entity)
        {
            using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
            {
                try
                {
                    //var obj = Entities.Set<T>();
                    //obj.Attach(entity);
                    Entities.Entry <T>(entity).State = System.Data.Entity.EntityState.Added;
                    return(Entities.SaveChanges() > 0);
                }

                catch (DbEntityValidationException ee)
                {
                    //LogHelper.WriteLog("", ee);
                    System.Diagnostics.Debug.WriteLine(ee.EntityValidationErrors.ElementAt(0).ValidationErrors
                                                       .ElementAt(0).ErrorMessage);
                    throw new Exception(ee.EntityValidationErrors.ElementAt(0).ValidationErrors.ElementAt(0)
                                        .ErrorMessage.ToString());
                }
            }
        }
Exemple #19
0
 /// <summary>
 /// 更新Entity(注意这里使用的傻瓜式更新,可能性能略低)
 /// </summary>
 /// <param cookieName="model"></param>
 /// <returns></returns>
 public virtual T UpdateReturn(T entity)
 {
     using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
     {
         Entities.Entry <T>(entity).State = System.Data.Entity.EntityState.Modified;
         try
         {
             if (Entities.SaveChanges() > 0)
             {
                 return(entity);
             }
             else
             {
                 return(null);
             }
         }
         catch (Exception e)
         {
             //LogHelper.WriteLog("", e);
             throw e;
         }
     }
 }
Exemple #20
0
        public object GetBySqlCommandSingle(Type t, string commandText, params object[] parameters)
        {
            using (KS_StuInfoEntities Entities = new KS_StuInfoEntities())
            {
                if (string.IsNullOrEmpty(commandText))
                {
                    throw new Exception(cmdTextIsNError);
                }

                try
                {
                    var quertResult = Entities.Database.SqlQuery(t, commandText, parameters).GetEnumerator();
                    quertResult.MoveNext();
                    var item = quertResult.Current;
                    return(item);
                }
                catch (Exception e)
                {
                    throw e;
                    //LogHelper.WriteLog("执行sql出错:" + commandText, e);
                    //return null;
                }
            }
        }