日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

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

系統 1902 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條評論
主站蜘蛛池模板: 桐城市| 双牌县| 东安县| 镇平县| 浮山县| 罗山县| 普兰店市| 分宜县| 北宁市| 常熟市| 伊吾县| 郁南县| 南昌县| 南通市| 巧家县| 砀山县| 陆川县| 都安| 潜山县| 凤冈县| 廊坊市| 德兴市| 赤水市| 体育| 尚义县| 嘉荫县| 株洲县| 郴州市| 民乐县| 赤峰市| 方正县| 鸡泽县| 马鞍山市| 陆河县| 喜德县| 东山县| 青冈县| 桃园市| 沙湾县| 衡阳县| 和田市|