日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Entity Framework 普通操作(复习用)——感觉有点不对,需要撸代码验证

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Entity Framework 普通操作(复习用)——感觉有点不对,需要撸代码验证 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方式一,使用Attach,并更新某個屬性的值(注意,不是所有的屬性都作修改)

using (var context = new EFContext()) { //方式一 var entity = context.Citys.Find(4); context.Citys.Attach(entity); entity.Name = "肇慶"; context.SaveChanges(); }

?

將一個entity標記為System.Data.Entity.EntityState.Modified更新時會更新所有的列(而不僅是修改了列),實際該使用哪種方式視場合而定。model對象可以不是從數據庫獲取的

using (var context = new EFContext()) {//方式二var model = context.Citys.Find(5);model.Name = "潮州";context.Entry(model).State = System.Data.Entity.EntityState.Modified;context.SaveChanges(); }

?

普通方式,全字段更新

using (var db = new DBModel()){var student = db.students.FirstOrDefault(s => s.name == "蘿莉");student.age = 13; //將蘿莉的年齡改為13歲 db.SaveChanges();}

?

普通方式刪除

using (var db = new DBModel()){var student = db.students.FirstOrDefault(s => s.name == "蘿莉"); //查找蘿莉db.students.Remove(student); //刪除蘿莉 db.SaveChanges();}

在ef中使用sql語句

using (var db = new DBModel()) //創建數據庫上下文 {//同步的方式執行SQL,并返回受影響的行數int result = db.Database.ExecuteSqlCommand(@"CREATE TABLE `test`.`test` (`id` INT NOT NULL,PRIMARY KEY(`id`)); ");//使用SqlParameter傳值可以避免SQL注入var p_name = new SqlParameter("@name", "蘿莉");var p_age = new SqlParameter("@age", 13);//如果使用的是MySql數據庫 需要SqlParameter把替換為MySqlParameter//var p_name = new MySqlParameter("@name", "蘿莉");//var p_age = new MySqlParameter("@age", 13);//更改學生年齡result = db.Database.ExecuteSqlCommand(@"UPDATE `test`.`student`SET `age` = @ageWHERE `name` = @name;", p_age, p_name);//異步的方式執行SQL,并返回受影響的行數Task<int> result2 = db.Database.ExecuteSqlCommandAsync("DROP TABLE `test`.`test`;"); }

?

using (var db = new DBModel()) //創建數據庫上下文 {//查詢叫蘿莉的學生信息,并修改她的年齡student result1 = db.students.SqlQuery("SELECT * FROM test.student WHERE name = '蘿莉'").FirstOrDefault();result1.age = 13; //通過實體集合下.SqlQuery查詢到的數據,修改之后是可以保存到數據庫的student result2 = db.Database.SqlQuery<student>("SELECT * FROM test.student WHERE name = '旺財'").FirstOrDefault();result2.age = 21; //因為使用的是.Database.SqlQuery查詢到的,所以這里的修改不會保存到數據庫//如果希望.Database.SqlQuery下查出的數據在修改后也能保存到數據庫student result3 = db.Database.SqlQuery<student>("SELECT * FROM test.student WHERE name = '小明'").FirstOrDefault();result3.age = 36;db.Entry<student>(result3).State = System.Data.Entity.EntityState.Modified; //通知數據上下文,這條記錄也被修改了 db.SaveChanges(); }

?

轉載于:https://www.cnblogs.com/KQNLL/p/9420904.html

總結

以上是生活随笔為你收集整理的Entity Framework 普通操作(复习用)——感觉有点不对,需要撸代码验证的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。