C# LINQ 语法备忘-刘欣
生活随笔
收集整理的這篇文章主要介紹了
C# LINQ 语法备忘-刘欣
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
//?模糊查詢、時(shí)間段查詢、查詢后數(shù)據(jù)分頁(yè)和排序
// 模糊查詢、時(shí)間段查詢、查詢后數(shù)據(jù)分頁(yè)和排序 // 1. 查詢和條件JKEntities1 db = new JKEntities1();var allpages = from c in db.JK_MOM_MileStoneReportwhere((c.OSBID.Contains(TextBox1.Text) || string.IsNullOrEmpty(TextBox1.Text.Trim())) &&(c.ORDNO.Contains(TextBox2.Text) || string.IsNullOrEmpty(TextBox2.Text.Trim())) &&(c.ZVIN.Contains(TextBox3.Text) || string.IsNullOrEmpty(TextBox3.Text.Trim())) &&(c.ZTP.Contains(TextBox4.Text) || string.IsNullOrEmpty(TextBox4.Text.Trim())) &&(((c.ZPASS_S >= DatePicker1.SelectedDate.Value)) || string.IsNullOrEmpty(DatePicker1.Text.Trim())) &&(((c.ZPASS_S <= DatePicker2.SelectedDate.Value)) || string.IsNullOrEmpty(DatePicker2.Text.Trim())))select new { OSBID = c.OSBID, ORDNO = c.ORDNO, WERKS = c.WERKS, ZVIN = c.ZVIN, ZTP = c.ZTP, ZPASS_S = c.ZPASS_S.ToString() +" "+c.ZPASS_T.ToString() };// 2.總記錄數(shù)RecordCount Grid1.RecordCount = allpages.Count();// 3.排序和分頁(yè)數(shù)據(jù) var onepage = allpages.OrderBy(Grid1.SortField + " " + Grid1.SortDirection).Skip(Grid1.PageIndex * Grid1.PageSize).Take(Grid1.PageSize); //---------------------------------------DataTable t = mytools.ListToDataTable(onepage.ToList()); // 4. 綁定到Grid Grid1.DataSource = t;Grid1.DataBind();//全局變量,下載xls用 dt = mytools.ListToDataTable(allpages.ToList());?
//list轉(zhuǎn)為DateTable
//list轉(zhuǎn)為DateTablepublic static DataTable ListToDataTable(IList list){DataTable result = new DataTable();if (list.Count > 0){PropertyInfo[] propertys = list[0].GetType().GetProperties();foreach (PropertyInfo pi in propertys){//獲取類型Type colType = pi.PropertyType;//當(dāng)類型為Nullable<>時(shí)if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition() == typeof(Nullable<>))){colType = colType.GetGenericArguments()[0];}result.Columns.Add(pi.Name, colType);}for (int i = 0; i < list.Count; i++){ArrayList tempList = new ArrayList();foreach (PropertyInfo pi in propertys){object obj = pi.GetValue(list[i], null);tempList.Add(obj);}object[] array = tempList.ToArray();result.LoadDataRow(array, true);}}return result;}//數(shù)據(jù)庫(kù)是日期時(shí)間類型,條件也是日期時(shí)間類型,只比較2個(gè)日期類型中日期部分
//數(shù)據(jù)庫(kù)是日期時(shí)間類型,條件也是日期時(shí)間類型,只比較2個(gè)日期類型中日期部分Entities1 db_osb = new Entities1();var q_dms = from c in db_osb.OSB_MON_TRANSACTION_Twhere((c.INTERFACE_NAME.Contains("PS_MOM_MileStoneReport")) &&(c.TARGET.Contains("SAP")) &&(c.TYPE.Contains("BS")) &&(((DbFunctions.TruncateTime(c.CREATE_DATE.Value) >= d7.Value.Date)) || string.IsNullOrEmpty(d7.Value.Date.ToString().Trim())) &&(((DbFunctions.TruncateTime(c.CREATE_DATE.Value) <= d8.Value.Date)) || string.IsNullOrEmpty(d8.Value.Date.ToString().Trim())))orderby c.CREATE_DATE descendingselect new { ID = c.ID, IS_READ = c.IS_READ, INTERFACE_NAME = c.INTERFACE_NAME, SOURCE = c.SOURCE, TARGET = c.TARGET, CREATE_DATE = c.CREATE_DATE };//數(shù)據(jù)庫(kù)里是日期類型,條件是字符串日期,按日期條件刪除數(shù)據(jù)庫(kù)的數(shù)據(jù)
//數(shù)據(jù)庫(kù)里是日期類型,條件是字符串日期,按日期條件刪除數(shù)據(jù)庫(kù)的數(shù)據(jù) PDAEntities db_sql = new PDAEntities();string tmp = toolStripComboBox2.SelectedItem.ToString().Trim(); DateTime DT = Convert.ToDateTime(tmp);var one = (from c in db_sql.JK_ESB_ONEDAYwhere c.mdate.Value.Equals(DT) select c).FirstOrDefault();if (one != null){db_sql.JK_ESB_ONEDAY.Remove(one);db_sql.SaveChanges();listBox4.Items.Add("刪除了:" + tmp);}//執(zhí)行sql語(yǔ)句 PDAEntities db_sql = new PDAEntities(); int num = db_sql.Database.ExecuteSqlCommand("delete from JK_ESB_ONEDAY");MessageBox.Show("刪除了"+num.ToString()+"條");//取日期最大的一條var onebig = (from u in db_sql.JK_ESB_ONEDAY orderby u.mdate descending select u).FirstOrDefault();//多表查詢 var some = from w in po.db.RE_USER_ROLE.AsEnumerable()from t in po.db.RE_ROLE_TCODE.AsEnumerable()from p in po.db.BA_TCODE.AsEnumerable()where(w.ZUSER.Equals(username) &&w.ROLE.Equals(t.ROLE) &&t.TCODE.Equals(p.TCODE))select new{w.ZUSER,w.ROLE,t.TCODE,p.TCODE_NAME,p.PAGE,p.CATALOG};//只取一條記錄 var someone = (from t in db.BA_USERwhere( t.ZUSER.Equals(user) )select t).FirstOrDefault(); //最簡(jiǎn)單的參數(shù)查詢Owner1 db = new Owner1(); var someone = from t in db.BA_USERwhere( t.ZUSER.Equals(tbxUserName.Text) &&t.PASSWORD.Equals(tbxPassword.Text))select t;//%%通配符查詢var q = from c in db.MM_T001Lwhere ( // (SqlMethods.Like( c.WERKS.ToString(),TextBox1.Text.Trim() ) || string.IsNullOrEmpty(TextBox1.Text.Trim()) ) && // (SqlMethods.Like(c.LGORT.ToString(), TextBox2.Text.Trim() ) || string.IsNullOrEmpty(TextBox2.Text.Trim()) )&&// (SqlMethods.Like(c.LGOBE.ToString(), TextBox3.Text.Trim() ) || string.IsNullOrEmpty(TextBox3.Text.Trim()))( c.WERKS.Contains(TextBox1.Text.Trim()) || string.IsNullOrEmpty(TextBox1.Text.Trim()) ) &&(c.LGORT.Contains(TextBox2.Text.Trim()) || string.IsNullOrEmpty(TextBox2.Text.Trim())) &&(c.LGOBE.Contains(TextBox3.Text.Trim()) || string.IsNullOrEmpty(TextBox3.Text.Trim())) )select c;//常用變量轉(zhuǎn)換
public static int i(object x1){return Convert.ToInt32(x1);}public static string s(object x1){return Convert.ToString(x1);}public static Decimal d(object x1){return Convert.ToDecimal(x1);}public static DateTime t(object x1){if (s(x1).Equals("0000-00-00")) { x1 = null; }return Convert.ToDateTime(x1);}public static DateTime t2(object d, object t){if (s(d).Equals("0000-00-00")) { d = null; }if (s(t).Equals("00:00:00")) { t = null; } return Convert.ToDateTime(d.ToString() +" "+ t.ToString());}//在select中比較日期
int n = (from t in db_sql.PO_MSG_LOG where ( SqlFunctions.DateDiff("day", t.LOG_TIME, oneday) == 0 ) select t).Count();?
?
?
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的C# LINQ 语法备忘-刘欣的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 打印机基本故障及解决方案
- 下一篇: S4 HANA 1809 FPS03 S