/// <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()); } }
/// <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); } }
/// <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()); } }
/// <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()); } }
/// <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()); } }
/// <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()); } }
/// <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()); } }
/// <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()); } }
/// <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()); } }
/// <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); } }
/// <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()); } }
/// <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()); } }
/// <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()); } }
/// <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); } }
/// <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()); } }
/// <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()); } }
/// <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); } }
/// <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); } } }
/// <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); } } }
/// <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); } } }
/// <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); } } }
/// <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); } } }
/// <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); } } }
/// <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); } } }
/// <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); } } }
/// <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(); } } } }
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(); }
//查询分页(动态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)); } }
/// <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(); } } } }
/// <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); } }