/// <summary> /// 执行多操作 /// </summary> /// <typeparam name="T">实体</typeparam> /// <param name="dc"></param> /// <param name="intindex">0:添加操作 1:修改操作 2:删除操作 3:添加多条记录 4:删除多条记录</param> /// <param name="tentity">要添加的实体</param> /// <param name="fun">修改或删除的条件</param> /// <param name="action">修改的值</param> /// <param name="rbool">ture:执行操作 FALSE:不执行</param> /// <param name="tentitys">要添加或都要删除的实体集合</param> /// <returns></returns> public static bool ADD_Delete_UpdateMethod <T>(DCCarManagementDataContext dc, int intindex, T tentity, Expression <Func <T, bool> > fun, Action <T> action, bool rbool, IEnumerable <T> tentitys) where T : class { bool falg = true; if (intindex == 0)//添加 { var table = dc.GetTable <T>(); table.InsertOnSubmit(tentity); } if (intindex == 3)//添加多条记录 { var table = dc.GetTable <T>(); table.InsertAllOnSubmit(tentitys); } if (intindex == 1)//修改 { var table = dc.GetTable <T>().Single <T>(fun); action(table); } if (intindex == 2)//删除 { var table = dc.GetTable <T>(); var result = table.Where <T>(fun).AsEnumerable <T>(); table.DeleteAllOnSubmit <T>(result); } if (intindex == 4)//删除多条记录 { var table = dc.GetTable <T>(); table.InsertAllOnSubmit(tentitys); } if (rbool) { try { dc.SubmitChanges(); } catch (ChangeConflictException err) { dc.ChangeConflicts.ResolveAll(RefreshMode.KeepCurrentValues); dc.SubmitChanges(); falg = false; } } return(falg); }
public static List <Dictionary> GetListDictionary() { List <Dictionary> list = new List <Dictionary>(); using (DCCarManagementDataContext db = new DCCarManagementDataContext()) { Table <Dictionary> ti = db.GetTable <Dictionary>(); var objTable = from a in ti select a; list = objTable.ToList <Dictionary>(); } return(list); }
/// <summary> /// /// </summary> /// <typeparam name="T">操作对象</typeparam> /// <param name="ClickedItemName">操作行为名 传入空值表示返回数据前10条</param> /// <param name="tstb">显示当前页数控件</param> /// <param name="tsl">显示总条数和每页条数的控件</param> /// <param name="value">排序字段</param> /// <param name="fun">查询条件<</param> /// <returns></returns> public IEnumerable <T> BindBoundControl <T>(string ClickedItemName, ToolStripTextBox tstb, ToolStripLabel tsl, Expression <Func <T, bool> > expr, string value) where T : class { DCCarManagementDataContext dc = new DCCarManagementDataContext(); try { pageSize = common.GetInt(PageMaxCount.Replace("条", ""));//每页显示行数 if (rbool) { pageCurrent = 1; //当前页数从1开始 } if (expr != null) { nMax = dc.GetTable <T>().Where <T>(expr).Count(); } else { nMax = dc.GetTable <T>().Count(); } pageCount = (nMax / pageSize); //计算出总页数 if ((nMax % pageSize) > 0) { pageCount++; } rbool = true; if (ClickedItemName != "") { itemClicked <T>(ClickedItemName); } tsl.Text = " 共 " + pageCount.ToString() + " 页 共 " + nMax.ToString() + " 条"; tstb.Text = Convert.ToString(pageCurrent); return(OrderBy <T>(value, expr)); } catch (Exception ex) { // common1.WriteTextLog("分页FenYe.BindBoundControl异常:" + ex.Message); return(null); } }
/// <summary> /// 是否所属项(是否有下级) /// </summary> /// <returns></returns> public static List <Dictionary> GetStateDictionaryOther() { List <Dictionary> list = new List <Dictionary>(); using (DCCarManagementDataContext db = new DCCarManagementDataContext()) { Table <Dictionary> ti = db.GetTable <Dictionary>(); var objTable = from c in ti where c.Dictionary_OtherID == 0 && c.Dictionary_ISLower == true select c; list = objTable.ToList <Dictionary>(); } return(list); }
/// <summary> /// 字典状态名称 /// </summary> /// <returns></returns> public static List <Dictionary> GetStateDictionaryName() { List <Dictionary> list = new List <Dictionary>(); using (DCCarManagementDataContext db = new DCCarManagementDataContext()) { Table <Dictionary> ti = db.GetTable <Dictionary>(); var objTable = from c in ti //where c.Dictionary_State == true && c.Dictionary_ISLower == true select c; //select new { c.Dictionary_ID, c.Dictionary_Value }; list = objTable.ToList <Dictionary>(); } return(list); }
/// <summary> /// 添加一条记录 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dc"></param> /// <param name="tentity"></param> public static bool InsertOne <T>(DCCarManagementDataContext dc, T tentity) where T : class { bool rbool = true; try { var table = dc.GetTable <T>(); table.InsertOnSubmit(tentity); dc.SubmitChanges(); } catch { rbool = false; } return(rbool); }
/// <summary> /// 添加多条记录 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dc"></param> /// <param name="tentitys"></param> public static bool InsertToMany <T>(DCCarManagementDataContext dc, IEnumerable <T> tentitys) where T : class { //var table = dc.GetTable<T>(); //table.InsertAllOnSubmit(tentitys); //dc.SubmitChanges(); bool rbool = true; try { var table = dc.GetTable <T>(); table.InsertAllOnSubmit(tentitys); dc.SubmitChanges(); } catch (ChangeConflictException) { dc.ChangeConflicts.ResolveAll(RefreshMode.KeepCurrentValues); dc.SubmitChanges(); rbool = false; } return(rbool); }
/// <summary> /// LINQ更新方法 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dc"></param> /// <param name="fun"></param> /// <param name="tentity"></param> /// <param name="action"></param> public static bool Update <T>(DCCarManagementDataContext dc, Expression <Func <T, bool> > fun, Action <T> action) where T : class { //var table = dc.GetTable<T>().Single<T>(fun); //action(table); //dc.SubmitChanges(); bool rbool = true; try { var table = dc.GetTable <T>().Single <T>(fun); action(table); dc.SubmitChanges(); } catch (ChangeConflictException) { dc.ChangeConflicts.ResolveAll(RefreshMode.KeepCurrentValues); dc.SubmitChanges(); rbool = false; } return(rbool); }
/// <summary> /// 按条件删除多条数据 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dc"></param> /// <param name="tentitys"></param> /// <param name="fun"></param> public static bool DeleteToMany <T>(DCCarManagementDataContext dc, Expression <Func <T, bool> > fun) where T : class { //var table = dc.GetTable<T>(); //var result = table.Where<T>(fun).AsEnumerable<T>(); //table.DeleteAllOnSubmit<T>(result); //dc.SubmitChanges(); bool rbool = true; try { var table = dc.GetTable <T>(); var result = table.Where <T>(fun).AsEnumerable <T>(); table.DeleteAllOnSubmit <T>(result); dc.SubmitChanges(); } catch (ChangeConflictException) { dc.ChangeConflicts.ResolveAll(RefreshMode.KeepCurrentValues); dc.SubmitChanges(); rbool = false; } return(rbool); }
private IEnumerable <T> ApplyOrder <T>(string property, string methodName, Expression <Func <T, bool> > expr1) where T : class { DCCarManagementDataContext db = new DCCarManagementDataContext(); Type type = typeof(T); ParameterExpression arg = Expression.Parameter(type, "a"); PropertyInfo pi = type.GetProperty(property); Expression expr = Expression.Property(arg, pi); type = pi.PropertyType; Type delegateType = typeof(Func <,>).MakeGenericType(typeof(T), type); LambdaExpression lambda = Expression.Lambda(delegateType, expr, arg); object result = typeof(Queryable).GetMethods().Single(a => a.Name == methodName && a.IsGenericMethodDefinition && a.GetGenericArguments().Length == 2 && a.GetParameters().Length == 2).MakeGenericMethod(typeof(T), type).Invoke(null, new object[] { db.GetTable <T>(), lambda }); if (expr1 != null) { return(((IOrderedQueryable <T>)result).Where <T>(expr1).Skip <T>(nCurrent).Take <T>(pageSize).ToList()); } else { return(((IOrderedQueryable <T>)result).Skip <T>(nCurrent).Take <T>(pageSize).ToList()); } }
/// <summary> /// 查询单条 返回实体 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="fun"></param> /// <returns></returns> public static T Single <T>(DCCarManagementDataContext dc, Expression <Func <T, bool> > fun) where T : class { return(dc.GetTable <T>().Single <T>(fun)); }
public static IEnumerable <T> Query <T>(DCCarManagementDataContext dc, Action <T> tentity) where T : class { return(dc.GetTable <T>().AsEnumerable <T>()); }
public static List <T> ListT <T>(DCCarManagementDataContext dc, Expression <Func <T, bool> > fun) where T : class { return(dc.GetTable <T>().Where <T>(fun).AsEnumerable <T>().ToList()); }
/// <summary> /// 按条件查询记录拼接 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dc"></param> /// <param name="fun"></param> /// <returns></returns> public static IEnumerable <T> Query <T>(DCCarManagementDataContext dc, Expression <Func <T, bool> > expr) where T : class { return(dc.GetTable <T>().Where <T>(expr).AsEnumerable <T>().ToList()); }
/// <summary> /// 查询所有的记录 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dc"></param> /// <returns></returns> public static IEnumerable <T> Query <T>(DCCarManagementDataContext dc) where T : class { return(dc.GetTable <T>().AsEnumerable <T>().ToList()); }