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

Linq無聊練習系列7----Insert,delete,update,at

系統 1892 0

/*********************Insert,delete,update,attach操作練習**********************************/
??????????? //簡單插入形式
??????????? var student = new T_Student
??????????? {
??????????????? stuNumber = "20091777",
??????????????? stuName = "張航",
??????????????? stuAge = 23,
??????????????? stuSex = "男"
??????????? };

??????????? ctx.T_Student.InsertOnSubmit(student);
??????????? ctx.SubmitChanges();
??????????? //一對多形式,或者多對多形式,需要按照主外健關系依次插入

??????????? var student1 = new T_Student
??????????? {
??????????????? stuNumber = "2009177",
??????????????? stuName = "謝亮",
??????????????? stuAge = 23,
??????????????? stuSex = "男"
??????????? };
??????????? var score1 = new T_Score
??????????? {
??????????????? stuNumber = student1.stuNumber,
??????????????? courceNumber = "001",
??????????????? score = 78
??????????? };
??????????? var score2 = new T_Score
??????????? {
??????????????? stuNumber = student1.stuNumber,
??????????????? courceNumber = "002",
??????????????? score = 78
??????????? };

?    ? ctx.T_Student.InsertOnSubmit(student1);
??????????? ctx.T_Score.InsertOnSubmit(score1);
??????????? ctx.T_Score.InsertOnSubmit(score2);
??????????? ctx.SubmitChanges();

??????????? //更愛張航的年齡為21,這種涉及到單項或者更改項很少的,可以用下面的方式更改

??????????? var list = ctx.T_Student.First(s=>s.stuName=="張航");
??????????? list.stuAge = 21;
??????????? ctx.T_Student.InsertOnSubmit(list);
??????????? ctx.SubmitChanges();

??????????? //讓學生表中各個學生的年齡加一歲
??????????? var list1 = from t in ctx.T_Student
???????????????????????? select t;
??????????? foreach (var item in list1)
??????????? {
??????????????? item.stuAge = item.stuAge + 1;
??????????? }
??????????? ctx.T_Student.InsertAllOnSubmit(list1);
??????????? ctx.SubmitChanges();

??????????? //刪除學號為2091721,課程編號為002的學生
??????????? var list2 = ctx.T_Score.First(s => s.stuNumber == "2091721"&&s.courceNumber=="002");
??????????? ctx.T_Score.DeleteOnSubmit(list2);
??????????? ctx.SubmitChanges();
??????????? //刪除學號為黃陽的個人信息及分數信息
??????????? var list3 = ctx.T_Student.First(s=>s.stuName=="黃陽");
??????????? var list4 = from a in ctx.T_Score
??????????????????????? where a.T_Student.stuName == "黃陽"
??????????????????????? select a;
??????????? foreach (var item in list4)
??????????? {
??????????????? ctx.T_Score.DeleteOnSubmit(item);
??????????? }
??????????? ctx.T_Student.DeleteOnSubmit(list3);
??????????? ctx.SubmitChanges();
??????????? //還可以推理刪除,推理刪除需要用Remove方法。由于表的設計不是很完善,這里就不給演示了
?????????? ?
??????????? //對于在不同的上下文間,需要使用attach方法進行更新,如在一個上下文中查出一個叫黃陽的學生和它的各科成績,在另一個上下文中將其年齡改為19,將其所有學科科目成績改為33分
??????????? T_Student student2;
??????????? List<T_Score> listScore = new List<T_Score>();
??????????? using (DB_StudentDataContext ctx1 = new DB_StudentDataContext())
??????????? {
??????????????? var stu = ctx1.T_Student.First(s=>s.stuName=="黃陽");
??????????????? student2 = new T_Student {
??????????????????? stuNumber=stu.stuNumber,
??????????????????? stuName=stu.stuName,
??????????????????? stuAge=stu.stuAge,
??????????????????? stuSex=stu.stuSex
??????????????? };

??????????????? var scores = from k in ctx1.T_Score
???????????????????????????? where k.T_Student.stuName == "黃陽"
???????????????????????????? select k;
??????????????? foreach (var item in scores)
??????????????? {
??????????????????? listScore.Add(item);
??????????????? }
??????????? }

??????????? ctx.T_Student.Attach(student2);
??????????? student.stuSex = "19";

??????????? ctx.T_Score.AttachAll(listScore);
??????????? foreach (var item in listScore)
??????????? {
??????????????? item.score = 33;
??????????? }

??????????? ctx.SubmitChanges();

??????????? //使用attach進行刪除,更改,插入

??????????? T_Student student3 = null;
??????????? using (DB_StudentDataContext ctx2 = new DB_StudentDataContext())
??????????? {
??????????????? DataLoadOptions dlo = new DataLoadOptions();
??????????????? dlo.LoadWith<T_Student>(s => s.T_Score);
??????????????? ctx2.DeferredLoadingEnabled = false;
??????????????? student3 = ctx2.T_Student.First(s=>s.stuName=="黃陽");
??????????? }
??????????? T_Score scores1 = student3.T_Score.First();
??????????? T_Score scores2 = student3.T_Score.First(s => Convert.ToInt32(s.stuNumber) > Convert.ToInt32(scores1.stuNumber));

??????????? using (DB_StudentDataContext ctx3 = new DB_StudentDataContext())
??????????? {
??????????????? ctx3.T_Student.Attach(student3);
??????????????? ctx3.T_Score.AttachAll(student3.T_Score.ToList());
??????????????? scores1.score = 80;
??????????????? student3.T_Score.Remove(scores2);

??????????????? T_Score score3 = new T_Score {
??????????????????? stuNumber = "2009177",
??????????????????? courceNumber = "003",
??????????????????? score=88
??????????????? };
??????????????? student3.T_Score.Add(score3);

??????????????? ctx3.SubmitChanges();

Linq無聊練習系列7----Insert,delete,update,attach操作練習


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品线在线精品 | 黄色小视频在线免费观看 | 中文字幕久精品免费视频蜜桃视频 | 天天干天天摸天天操 | 精品国精品国产自在久国产应用 | 麻豆国产精品免费视频 | 人成午夜欧美大片免费视频 | 伊人二区 | 欧美中文字幕在线看 | 国产精品美女一区二区 | 欧美 日本| 伊人情人综合成人久久网小说 | 日本一级特黄a大片在线 | 久久www免费人成_看片美女图 | 久久亚洲精品永久网站 | 99久久综合九九亚洲 | 中文字幕专区高清在线观看 | 久久精品伦理 | 欧美三级成人观看 | 欧美成人另类 | 久久久久久色 | 日韩欧美伊人久久大香线蕉 | 日操操| 99视频精品全部免费免费观 | 久草视频在线免费播放 | 狠狠色噜噜狠狠狠狠69 | 国产伦一区二区三区四区久久 | 亚洲欧美国产中文 | 日韩欧美精品中文字幕 | 国产精品成人四虎免费视频 | 国产在线一区二区三区在线 | 久久免费观看国产精品 | 日韩欧美一区在线观看 | 国产免费一区二区三区免费视频 | 深夜在线看片 | 国产精品毛片久久久久久久 | 91蝌蚪在线播放 | 免费区欧美一级毛片 | 色综合天天综合给合国产 | 青草在线视频 | 日本免费一区尤物 |