亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Linq無聊練習系列6--Any/All/Contains/Concat/U

系統 1886 0

/*********************Any/All/Contains/Concat/Union/Intersect/Except/take/skip/SqlMethods操作練習**********************************/
??????????? //判斷沒有成績的學生
??????????? var list = from s in ctx.T_Student
?????????????????????? where !s.T_Score.Any()
?????????????????????? select s;
??????????? //判斷有成績大于80的學生
??????????? var list1 = (from s in ctx.T_Student
???????????????????????? where s.T_Score.Any(t => t.score > 80)
???????????????????????? select s).Distinct();
??????????? //所有科目成績大于80的學生
??????????? var list2 = from s in ctx.T_Student
??????????????????????? where s.T_Score.All(t=>t.score>80)
??????????????????????? select s;
??????????? //查詢黃陽是否參加過考試
??????????? string[] names = { "黃陽"};
??????????? var list4 = from s in ctx.T_Score
??????????????????????? where names.Contains(s.T_Student.stuName)
??????????????????????? select s;
??????????? //查詢黃陽是否參加過考試
??????????? var list3 = from s in ctx.T_Score
??????????????????????? where (new string[] { "黃陽" }).Contains(s.T_Student.stuName)
??????????????????????? select s;
??????????? //參加過考試但是不是黃陽的同學
??????????? var list5 = from s in ctx.T_Score
??????????????????????? where !(new string[] { "黃陽" }).Contains(s.T_Student.stuName)
??????????????????????? select s;
??????????? //contains也可以包含一個對象,如查詢那些學生參加了課程編號為001的第一個同學,對于contains只能包含一個實體,不能保護實體集
??????????? var temp1 = (from s in ctx.T_Score
??????????????????????? where s.stuNumber == "001"
??????????????????????? select s).First();
??????????? var result = ctx.T_Student.Where(p=>p.T_Score.Contains(temp1));
??????????? //查找黃陽和黃波的所有成績
??????????? string[] names1 = {"黃陽","黃波"};
??????????? var result2 = ctx.T_Score.Where(f=>names1.Contains(f.T_Student.stuName));
??????????? //或者也可以這樣
??????????? var result3 = from s in ctx.T_Score
????????????????????????? where (new string[] { "黃陽", "黃波" }).Contains(s.T_Student.stuName)
????????????????????????? select s;
??????????? //對于concat,連接不同的集合,不會自動過濾相同項,而且它只能對于單列進行連接,對多列進行連接,會報語法錯誤,因為沒有相應的擴展方法

??????????? var result4 = (from s in ctx.T_Student
?????????????????????????? select s.stuName)
????????????????????????? .Concat(from k in ctx.T_Score
????????????????????????????????? select k.T_Cource.courceName );
??????????? //合并所有的學生
??????????? var result5 = ((from s in ctx.T_Student
??????????????????????????? select s.stuNumber)
??????????????????????? .Union
??????????????????????? (from k in ctx.T_Score
???????????????????????? select k.stuNumber)).Distinct();
??????????? //交集
??????????? var result6 = (from s in ctx.T_Student
?????????????????????????? select s.stuNumber).Intersect
????????????????????????? (from k in ctx.T_Score
?????????????????????????????? select k.stuNumber);
??????????? //差集
??????????? var result7 = (from s in ctx.T_Student
?????????????????????????? select s.stuNumber).Intersect
?????????????????????????????? (from k in ctx.T_Score
??????????????????????????????? select k.stuNumber);
??????????? //查詢前三個學生的信息
??????????? var result8 = (from s in ctx.T_Student
????????????????????????? select s).Take(3);
??????????? //查詢三個學生以外的所有學生信息
??????????? var result9 = (from s in ctx.T_Student
?????????????????????????????? select s).Skip(3);
??????????? //當學號為2091723時候,就停止獲取學生信息
??????????? var result10 = (from s in ctx.T_Student
??????????????????????????? select s).TakeWhile(k => k.stuNumber == "2091723");
??????????? //當學號為2091723時候,就停止跳過學生信息,并獲取后邊的所有學生信息
??????????? var result11 = (from s in ctx.T_Student
??????????????????????????? select s).SkipWhile(k => k.stuNumber == "2091723");
??????????? //可以用skip和take來對數據進行分頁,這非常方便

??????????? //查看姓名以黃開頭的學生信息,這時候程序需要引入using System.Data.Linq.SqlClient;命名空間
??????????? var result12 = from s in ctx.T_Student
?????????????????????????? where SqlMethods.Like(s.stuName,"黃%")
?????????????????????????? select s;
??????????? //查詢學號為2X917X2的學生
??????????? var result13 = from s in ctx.T_Student
?????????????????????????? where SqlMethods.Like(s.stuNumber, "2_917_2")
?????????????????????????? select s;
??????????? //比較時間的操作分別有:DateDiffDay、DateDiffHour、DateDiffMillisecond、DateDiffMinute、DateDiffMonth、DateDiffSecond、DateDiffYear ,也是sqlMethods方法,而數據庫中的表并沒有設計時間的字段,所以就不演示了


??????????? //SQL語句進行編輯重新查詢,需要引用命名空間using System.Data.Linq;
??????????? var fn = CompiledQuery.Compile(
??????????????? (DB_StudentDataContext ctx1,string stuName)=>
??????????????? from s in ctx1.T_Student
??????????????? where s.stuName==stuName
??????????????? select s
??????????????? );
??????????? var data1 = fn(ctx,"黃陽");
??????????? var data2 = fn(ctx,"黃波");

Linq無聊練習系列6--Any/All/Contains/Concat/Union/Intersect/Except/take/skip/SqlMethods操作練習


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 99r视频里面只有精品 | 四虎海外在线永久免费看 | 三级a做爰大乳在线观看 | 国产720刺激i在线视频 | 成人国产精品一级毛片视频 | 亚洲综合另类 | 91久久国产精品 | 日韩精品一区二区三区乱码 | 一级做a毛片免费视频 | 91国内在线观看 | 成年女人视频网站免费m | 国产呦系列呦交 | 天天碰天天干 | 亚洲视频中文字幕在线 | 久久影院精品 | 四虎永久网址影院 | 2019亚洲日韩新视频 | 国产一级特黄a大片99 | 无遮挡又黄又爽又色1000部 | 欧美一级免费观看 | 香蕉国产人午夜视频在线 | 97成人在线视频 | 成年人一级毛片 | 久久久久夜夜夜精品国产 | 九九网| 特级黄色 | 成人亚洲精品 | 亚洲爱爱天堂 | 欧美一区二区三区高清视频 | 国产成人刺激视频在线观看 | 伊人久久大香焦 | 国产福利免费视频 | 中文字幕在线观看亚洲 | 国产成人精品视频一区 | 99热这里只有精品8 99热这里只有精品88 | 日韩一区二区天海翼 | 天天躁日日躁狠狠躁黑人躁 | 五月一区二区久久综合天堂 | 欧美黑人乱大交ⅹxxxxx | 真人实干一级毛片aa免费 | 午夜国产精品影院在线观看 |