Esempio n. 1
0
 /// <summary>
 /// 获取所有的数据
 /// </summary>
 /// <param name="predicate">Lamda表达式</param>
 /// <returns>返回所有数据列表</returns>
 public List <VMyappCompany> GetViewList(Expression <Func <VMyappCompany, bool> > predicate)
 {
     using (UCDbContext db = new UCDbContext())
     {
         var models  = db.VMyappCompanies.Where <VMyappCompany>(predicate);
         var sqlText = models.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return(models.ToList());
     }
 }
Esempio n. 2
0
 /// <summary>
 /// 根据条件查询某些字段(LINQ 动态查询)
 /// </summary>
 /// <param name="selector">要查询的字段(格式:new(ID,Name))</param>
 /// <param name="predicate">筛选条件(id=0)</param>
 /// <returns></returns>
 public IQueryable <Object> GetViewFields(string selector, string predicate)
 {
     using (UCDbContext db = new UCDbContext())
     {
         var model   = db.VMyappCompanies.Where(predicate).Select(selector);
         var sqlText = model.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return((IQueryable <object>)model);
     }
 }
Esempio n. 3
0
 /// <summary>
 /// 获取所有的数据
 /// </summary>
 /// <returns>返回所有数据列表</returns>
 public List <VMyappCompany> GetViewList()
 {
     using (UCDbContext db = new UCDbContext())
     {
         var models  = db.VMyappCompanies;
         var sqlText = models.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return(models.ToList());
     }
 }
Esempio n. 4
0
 /// <summary>
 /// 获取指定的单个实体
 /// 如果不存在则返回null
 /// 如果存在多个则抛异常
 /// </summary>
 /// <param name="predicate">Lamda表达式</param>
 /// <returns>Entity</returns>
 public VCustomerContact GetViewEntity(Expression <Func <VCustomerContact, bool> > predicate)
 {
     using (UCDbContext db = new UCDbContext())
     {
         var model   = db.VCustomerContacts.Where <VCustomerContact>(predicate);
         var sqlText = model.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return(model.SingleOrDefault());
     }
 }
Esempio n. 5
0
 /// <summary>
 /// 获取所有的数据
 /// </summary>
 /// <returns>返回所有数据列表</returns>
 public List <VCustomerContact> GetViewList()
 {
     using (UCDbContext db = new UCDbContext())
     {
         var models  = db.VCustomerContacts;
         var sqlText = models.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return(models.ToList());
     }
 }
Esempio n. 6
0
 /// <summary>
 /// 获取数据总数
 /// </summary>
 /// <param name="predicate">Lamda表达式</param>
 /// <returns>返回所有数据总数</returns>
 public int GetViewCount(Expression <Func <VCustomerContact, bool> > predicate)
 {
     using (UCDbContext db = new UCDbContext())
     {
         var models  = db.VCustomerContacts.Where <VCustomerContact>(predicate);
         var sqlText = models.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return(models.Count());
     }
 }
Esempio n. 7
0
 /// <summary>
 /// 获取指定的单个实体
 /// 如果不存在则返回null
 /// 如果存在多个则抛异常
 /// </summary>
 /// <param name="predicate">Lamda表达式</param>
 /// <returns>Entity</returns>
 public VMyappCompany GetViewEntity(Expression <Func <VMyappCompany, bool> > predicate)
 {
     using (UCDbContext db = new UCDbContext())
     {
         var model   = db.VMyappCompanies.Where <VMyappCompany>(predicate);
         var sqlText = model.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return(model.SingleOrDefault());
     }
 }
Esempio n. 8
0
 /// <summary>
 /// 获取指定的单个实体
 /// 如果不存在则返回null
 /// 如果存在多个则抛异常
 /// </summary>
 /// <param name="predicate">Lamda表达式</param>
 /// <returns>Entity</returns>
 public TFunMyapp GetEntity(Expression <Func <TFunMyapp, bool> > predicate)
 {
     using (UCDbContext db = new UCDbContext())
     {
         var model   = db.TFunMyapps.Where <TFunMyapp>(predicate);
         var sqlText = model.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return(model.SingleOrDefault());
     }
 }
Esempio n. 9
0
 /// <summary>
 /// 获取数据总数
 /// </summary>
 /// <returns>返回所有数据总数</returns>
 public int GetViewCount()
 {
     using (UCDbContext db = new UCDbContext())
     {
         var models  = db.VCompanyUsers;
         var sqlText = models.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return(models.Count());
     }
 }
Esempio n. 10
0
 /// <summary>
 /// 根据条件查询某些字段(LINQ 动态查询)
 /// </summary>
 /// <param name="selector">要查询的字段(格式:new(ID,Name))</param>
 /// <param name="predicate">筛选条件(id=0)</param>
 /// <returns></returns>
 public IQueryable <Object> GetFields(string selector, string predicate, params object[] values)
 {
     using (UCDbContext db = new UCDbContext())
     {
         var model   = db.TFunMyapps.Where(predicate, values).Select(selector);
         var sqlText = model.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return((IQueryable <object>)model);
     }
 }
Esempio n. 11
0
        /// <summary>
        /// 获取最大Id(LINQ)
        /// </summary>
        /// <returns></returns>
        //public int GetMaxId(Expression<Func<TFunFilter, bool>> selector)
        //{
        //}

        /// <summary>
        /// 获取最大Id(动态LINQ)
        /// </summary>
        /// <returns></returns>
        //public int GetMaxId(string selector, params object[] values)
        //{

        //}

        #endregion


        #region 获取所有的数据

        /// <summary>
        /// 获取所有的数据
        /// </summary>
        /// <returns>返回所有数据列表</returns>
        public List <TFunFilter> GetList()
        {
            using (UCDbContext db = new UCDbContext())
            {
                var models  = db.TFunFilters;
                var sqlText = models.GetProperty("SqlText");
                LogHelper.Debug(sqlText.ToString());
                return(models.ToList());
            }
        }
Esempio n. 12
0
 /// <summary>
 /// 获取数据总数(LINQ)
 /// </summary>
 /// <param name="predicate">Lamda表达式</param>
 /// <returns>返回所有数据总数</returns>
 public int GetCount(Expression <Func <TFunMyapp, bool> > predicate)
 {
     using (UCDbContext db = new UCDbContext())
     {
         var models  = db.TFunMyapps.Where(predicate);
         var sqlText = models.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return(models.Count());
     }
 }
Esempio n. 13
0
 /// <summary>
 /// 获取数据总数(默认)
 /// </summary>
 /// <returns>返回所有数据总数</returns>
 public int GetCount()
 {
     using (UCDbContext db = new UCDbContext())
     {
         var models  = db.TFunMyapps;
         var sqlText = models.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return(models.Count());
     }
 }
Esempio n. 14
0
 /// <summary>
 /// 获取最大Id(默认)
 /// </summary>
 /// <returns></returns>
 public int GetMaxId()
 {
     using (UCDbContext db = new UCDbContext())
     {
         var models  = db.TFunFilters.Max(temp => temp.Id);
         var sqlText = models.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return(models + 1);
     }
 }
Esempio n. 15
0
 /// <summary>
 /// 获取数据总数(动态LINQ)
 /// </summary>
 /// <param name="predicate">动态LINQ</param>
 /// <param name="values">参数</param>
 /// <returns>返回所有数据总数</returns>
 public int GetCount(string predicate, params object[] values)
 {
     using (UCDbContext db = new UCDbContext())
     {
         var models  = db.TFunFilters.Where(predicate);
         var sqlText = models.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return(models.Count());
     }
 }
Esempio n. 16
0
 /// <summary>
 /// 获取所有的数据
 /// </summary>
 /// <param name="predicate">Lamda表达式</param>
 /// <returns>返回所有数据列表</returns>
 public List <TFunFilter> GetList(Expression <Func <TFunFilter, bool> > predicate)
 {
     using (UCDbContext db = new UCDbContext())
     {
         var models  = db.TFunFilters.Where <TFunFilter>(predicate);
         var sqlText = models.GetProperty("SqlText");
         LogHelper.Debug(sqlText.ToString());
         return(models.ToList());
     }
 }
Esempio n. 17
0
        /// <summary>
        /// 查询分页(可以自定义添加属性,不包括扩展字段) 2014-10-15 14:58:50 By 唐有炜
        /// </summary>
        /// <param name="pageIndex">页码</param>
        /// <param name="pageSize">每页的数目</param>
        /// <param name="selector">要查询的字段</param>
        /// <param name="predicate">查询条件</param>
        /// <param name="ordering">排序</param>
        /// <param name="recordCount">记录结果数</param>
        /// <param name="values">参数</param>
        /// <returns>查询分页(不包括扩展字段)</returns>
        public List <Dictionary <string, object> > GetListByPage(int pageIndex, int pageSize, string selector, string predicate, string ordering,
                                                                 out int recordCount, params object[] values)
        {
            using (UCDbContext db = new UCDbContext())
            {
                //获取查询结果
                //加上扩展字段值
                var temps = db.TCusBases;

                IQueryable <object> models = null;
                if (!String.IsNullOrEmpty(selector))
                {
                    models = (IQueryable <object>)(temps
                                                   .Where(predicate, values)
                                                   .Select(selector, values)
                                                   .OrderBy(ordering));
                }
                else
                {
                    models = (IQueryable <object>)(temps
                                                   .Where(predicate, values)
                                                   .OrderBy(ordering));
                }


                var sqlText = models.GetProperty("SqlText");
                LogHelper.Debug("ELINQ Dynamic Paging:<br/>" + sqlText.ToString());

                //计算总数
                recordCount = models.Count();

                //转换为分页
                var prevCount = (pageIndex - 1) * pageSize;
                models = models.Skip(prevCount).Take(pageSize);
                var pages = models.ToPagination(pageIndex, pageSize, recordCount);

                //组装输出
                List <Dictionary <string, object> > results = new List <Dictionary <string, object> >();
                foreach (var page in pages)
                {
                    Dictionary <string, object> result = new Dictionary <string, object>();
                    PropertyInfo[] propertyInfos       = page.GetType().GetProperties();
                    foreach (var propertyInfo in propertyInfos)
                    {
                        var name  = propertyInfo.Name;                 //输入的selector中的字段名
                        var value = propertyInfo.GetValue(page, null); //输入的selector中的字段值
                        result.Add(name, value);
                    }
                    results.Add(result);
                }

                return(results);
            }
        }
Esempio n. 18
0
 /// <summary>
 /// 添加实体
 /// </summary>
 /// <param name="entity">实体对象</param>
 public bool InsertEntity(TSysLog entity)
 {
     using (UCDbContext db = new UCDbContext())
     {
         int rows = db.TSysLogs.Insert(entity);
         if (rows > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
Esempio n. 19
0
 /// <summary>
 /// 添加实体
 /// </summary>
 /// <param name="entity">实体对象</param>
 public bool InsertEntity(TFunAppCompany entity)
 {
     using (UCDbContext db = new UCDbContext())
     {
         int rows = db.TFunAppCompanies.Insert(entity);
         if (rows > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
Esempio n. 20
0
 /// <summary>
 /// 修改实体
 /// </summary>
 /// <param name="entity">实体对象</param>
 public bool UpdateEntity(TFunOperating entity)
 {
     using (UCDbContext db = new UCDbContext())
     {
         int rows = db.TFunOperatings.Update(entity);
         if (rows > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
Esempio n. 21
0
 /// <summary>
 /// 修改实体
 /// </summary>
 /// <param name="entity">实体对象</param>
 public bool UpdateEntity(TFunMyappCompany entity)
 {
     using (UCDbContext db = new UCDbContext())
     {
         int rows = db.TFunMyappCompanies.Update(entity);
         if (rows > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
Esempio n. 22
0
 /// <summary>
 /// 修改实体
 /// </summary>
 /// <param name="entity">实体对象</param>
 public bool UpdateEntity(TSysDepartment entity)
 {
     using (UCDbContext db = new UCDbContext())
     {
         int rows = db.TSysDepartments.Update(entity);
         if (rows > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
Esempio n. 23
0
 /// <summary>
 /// 修改实体
 /// </summary>
 /// <param name="entity">实体对象</param>
 public bool UpdateEntity(TCusBase entity)
 {
     using (UCDbContext db = new UCDbContext())
     {
         int rows = db.TCusBases.Update(entity);
         if (rows > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
Esempio n. 24
0
 /// <summary>
 /// 执行Sql
 /// </summary>
 /// <param name="sql">Sql语句</param>
 /// <param name="namedParameters">查询字符串</param>
 /// <returns></returns>
 public bool ExecuteSql(string sql, dynamic namedParameters = null)
 {
     using (UCDbContext db = new UCDbContext())
     {
         var rows = db.DbHelper.ExecuteNonQuery(sql, namedParameters);
         if (rows > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
Esempio n. 25
0
 /// <summary>
 /// 删除实体
 /// </summary>
 /// <param name="predicate">Lamda表达式</param>
 public bool DeleteEntity(Expression <Func <TCusBase, bool> > predicate)
 {
     using (UCDbContext db = new UCDbContext())
     {
         TCusBase entity = db.TCusBases.Where(predicate).First();
         int      rows   = db.TCusBases.Delete(entity);
         if (rows > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
Esempio n. 26
0
        /// <summary>
        /// 使用LINQ批量更改TClientInfo状态 2014-09-05 14:58:50 By 唐有炜
        /// </summary>
        /// <param name="fields">要更新的字段(支持批量更新)</param>
        /// <param name="values">The values.</param>
        /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        public bool UpdateEntityStatus(List <Field> fields, params object[] values)
        {
            using (UCDbContext db = new UCDbContext())
            {
                if (db.Connection.State != ConnectionState.Open)
                {
                    db.Connection.Open();
                }
                var tran = db.Connection.BeginTransaction();
                try
                {
                    foreach (var field in fields)
                    {
                        var entity        = db.TCusBases.Where(field.Predicate, values).FirstOrDefault();
                        var propertyInfos = entity.GetType().GetProperties();
                        foreach (var p in propertyInfos)
                        {
                            if (p.Name == field.Key)
                            {
                                p.SetValue(entity, field.Value, null); //给对应属性赋值
                            }
                        }
                        db.TCusBases.Update(entity);
                    }


                    tran.Commit();
                    LogHelper.Debug("TCusBase字段批量更新成功。");
                    return(true);
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    LogHelper.Error("TCusBase字段批量更新异常:", ex);
                    return(false);
                }
                finally
                {
                    if (db.Connection.State != ConnectionState.Closed)
                    {
                        db.Connection.Close();
                    }
                }
            }
        }
Esempio n. 27
0
        static void Main(string[] args)
        {
            using (UCDbContext ctx = new UCDbContext())
            {
                User user = new User();
                user.NickName     = "dalong";
                user.PhoneNum     = "123";
                user.PasswordHash = "123";
                user.PasswordSalt = "123";

                ctx.Users.Add(user);
                ctx.SaveChanges();
            }

            Console.WriteLine("ok");

            Console.ReadKey();
        }
Esempio n. 28
0
 //查询分页(动态LINQ)
 public IPagination <VSysDepartment> GetViewListByPage(int pageIndex, int pageSize, out int rowCount,
                                                       IDictionary <string, UCsoft.Entity.UCEnums.OrderEmum> orders,
                                                       string predicate)
 {
     using (UCDbContext db = new UCDbContext())
     {
         var roles = db.VSysDepartments.Where(predicate);
         rowCount = roles.Count();
         var prevCount = (pageIndex - 1) * pageSize;
         var models    = roles
                         .Skip(prevCount)
                         .Take(pageSize);
         foreach (var order in orders)
         {
             models = models.OrderBy(String.Format("{0} {1}", order.Key, order.Value));
         }
         var sqlText = models.GetProperty("SqlText");
         LogHelper.Debug("ELINQ Paging:<br/>" + sqlText.ToString());
         return(models.ToPagination(pageSize, pageSize, rowCount));
     }
 }
Esempio n. 29
0
 /// <summary>
 /// 批量删除(实体集合)
 /// </summary>
 /// <param name="predicate">动态LINQ</param>
 public bool DeletesEntity(List <string> predicates)
 {
     using (UCDbContext db = new UCDbContext())
     {
         if (db.Connection.State != ConnectionState.Open)
         {
             db.Connection.Open();
         }
         var tran = db.Connection.BeginTransaction();
         try
         {
             foreach (var predicate in predicates)
             {
                 var item = db.TCusBases.Where(predicate).FirstOrDefault();
                 if (null != item)
                 {
                     db.TCusBases.Delete(item);
                 }
             }
             tran.Commit();
             LogHelper.Debug("批量删除成功!");
             return(true);
         }
         catch (Exception ex)
         {
             tran.Rollback();
             LogHelper.Error("批量删除异常:", ex);
             return(false);
         }
         finally
         {
             if (db.Connection.State != ConnectionState.Closed)
             {
                 db.Connection.Close();
             }
         }
     }
 }
Esempio n. 30
0
        /// <summary>
        /// 查询分页(包括扩展字段) 2014-08-29 14:58:50 By 唐有炜
        /// </summary>
        /// <param name="pageIndex">页码</param>
        /// <param name="pageSize">每页的数目</param>
        /// <param name="selector">要查询的字段</param>
        /// <param name="expFields">存储扩展字段值的字段</param>
        /// <param name="expSelector">要查询的扩展字段里面的字段</param>
        /// <param name="predicate">查询条件</param>
        /// <param name="ordering">排序</param>
        /// <param name="recordCount">记录结果数</param>
        /// <param name="values">参数</param>
        /// <returns>查询分页(包括扩展字段)</returns>
        public List <Dictionary <string, object> > GetListWithExpByPage(int pageIndex, int pageSize, string selector,
                                                                        string expFields, string expSelector,
                                                                        string predicate, string ordering,
                                                                        out int recordCount, params object[] values)
        {
            using (UCDbContext db = new UCDbContext())
            {
                //获取查询结果
                //加上扩展字段值
                var temps = db.TCusBases;
                recordCount = temps.Count();
                var prevCount = (pageIndex - 1) * pageSize;

                IQueryable <object> models = null;
                if (!String.IsNullOrEmpty(selector))
                {
                    models = (IQueryable <object>)(temps
                                                   .Skip(prevCount)
                                                   .Take(pageSize)
                                                   .Where(predicate, values)
                                                   .Select(selector, values)
                                                   .OrderBy(ordering));
                }
                else
                {
                    models = (IQueryable <object>)(temps
                                                   .Skip(prevCount)
                                                   .Take(pageSize)
                                                   .Where(predicate, values)
                                                   .OrderBy(ordering));
                }


                var sqlText = models.GetProperty("SqlText");
                LogHelper.Debug("ELINQ Dynamic Paging:<br/>" + sqlText.ToString());

                //转换为分页
                var pages = models.ToPagination(pageIndex, pageSize, recordCount);

                //组装输出
                List <Dictionary <string, object> > results = new List <Dictionary <string, object> >();
                foreach (var page in pages)
                {
                    Dictionary <string, object> result = new Dictionary <string, object>();
                    PropertyInfo[] propertyInfos       = page.GetType().GetProperties();
                    foreach (var propertyInfo in propertyInfos)
                    {
                        var name  = propertyInfo.Name;                 //输入的selector中的字段名
                        var value = propertyInfo.GetValue(page, null); //输入的selector中的字段值
                        if (name == expFields)
                        {
                            IDictionary <string, JToken> cusFields =
                                (JObject)JsonConvert.DeserializeObject(value.ToString());
                            //循环添加新字段
                            foreach (var field in cusFields)
                            {
                                //只输出已选择的扩展字段(不输出直接留空)
                                if (!String.IsNullOrEmpty(expSelector))
                                {
                                    object[] exps       = Utils.StringToObjectArray(expSelector, ',');
                                    var      fieldKey   = NamingConversion.Default.PropertyName(field.Key);
                                    var      fieldvalue = field.Value;
                                    if (exps.Contains(fieldKey)) //只查询选择的扩展字段
                                    {
                                        result.Add(fieldKey, fieldvalue);
                                    }
                                }
                            }
                        }
                        else
                        {
                            result.Add(name, value);
                        }
                    }
                    results.Add(result);
                }


                return(results);
            }
        }