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

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

系統 1653 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條評論
主站蜘蛛池模板: 香蕉福利久久福利久久香蕉 | 五月婷婷色网 | 999久久66久6只有精品 | 久青草影院在线观看国产 | 国产成人欧美一区二区三区的 | 国产精品福利久久2020 | 国产第一亚洲 | 精品亚洲成a人7777在线观看 | 国产成人精品高清在线 | 激情网址大全 | 深夜男人网站 | 天天操天天噜 | 男女污污视频在线观看 | 国产欧美一区二区三区在线看 | 福利视频免费看 | 国产视频一区二区在线播放 | 久久不卡视频 | 精品一区二区乱码久久乱码 | 久久不卡一区二区三区 | 在线免费观看毛片 | 在线亚洲精品国产波多野结衣 | 女人大毛片一级毛片一 | 在线免费午夜视频 | 福利影院在线 | 亚洲 欧美 精品 中文第三 | 99久久99久久免费精品蜜桃 | 久久精品国产乱子伦多人 | 国产伦精品一区二区三区免费观看 | 国产精品美女 | 亚洲最大色网站 | 男人都懂www深夜免费网站 | 国产成+人+综合+亚洲 欧美 | 中文欧美日韩 | 久久亚洲精品人成综合网 | 欧美不卡精品中文字幕日韩 | 天天操狠狠操夜夜操 | 一级毛片免费高清视频 | 好吊妞人成免费视频观看 | 久久伊人热 | 日韩欧美一区二区在线 | 一区二区三区免费视频网站 |