之前的文章里面已經說了,EF的增刪查改。那時候的修改,刪除,只能是先查詢出來要修改的數據,再修改,刪除。。。現在來一個改進版的,增刪查改。
1.Add

1 static void Add() 2 { 3 //1.創建student對象,並使用對象初始化器,初始化這個對象 4 Studnet stu = new Studnet() 5 { 6 s_Name = "古巨基", 7 s_Sex = "男", 8 s_Age = 39, 9 c_ID = 2, 10 11 }; 12 13 //2。將對象加入到EF,並獲取當前實體的狀態管理對象 14 DbEntityEntry entry= db.Entry<Studnet>(stu); 15 //3.設置對象的狀態為Added(entry.State) 16 entry.State = System.Data.EntityState.Added; 17 //4.保存到數據庫 18 db.SaveChanges(); 19 20 //測試代碼 21 Console.WriteLine("新增成功"); 22 }
2.Modify

1 /// <summary> 2 /// 自己動手寫修改(優化的修改方式,創建對象直接修改) 3 /// </summary> 4 static void Edit() 5 { 6 7 //1.查詢出一個要修改的對象 8 Studnet stu = new Studnet() 9 { 10 //1.查詢出一個要修改的數據 11 //數據庫中有s_ID為12的數據,這句話的意思是,把s_ID=12的記錄的 12 //名字改為“小白!!!”,性別改為“女”,年齡改為“23” 13 s_ID = 12, 14 s_Name = "小白!!!", 15 s_Sex = "女", 16 s_Age = 23, 17 }; 18 19 //2,把對象加入到EF容器,並獲取當前實體對象的狀態管理對象 20 DbEntityEntry entry=db.Entry<Studnet>(stu); 21 //3.設置該對象未被修改過,Unchanged. 22 entry.State = System.Data.EntityState.Unchanged; 23 //4.設置修改過的屬性 24 entry.Property("s_Name").IsModified = true; 25 entry.Property("s_Sex").IsModified = true; 26 entry.Property("s_Age").IsModified = true; 27 28 //5.保存數據庫 29 db.SaveChanges(); 30 31 //---測試 32 Console.WriteLine("修改成功"); 33 34 }
3Delete

1 /// <summary> 2 /// 刪除 3 /// </summary> 4 static void Delete() 5 { 6 7 //1創建需要刪除的對象,這里只是測試,刪除Id=15的數據 8 Studnet stu = new Studnet() { s_ID = 15}; 9 10 //2將對象加入到EF容器,並獲取當前對象的狀態管理對象 11 DbEntityEntry<Studnet> entry= db.Entry<Studnet>(stu); 12 13 14 //3.把對象的狀態改為Deleted 15 entry.State = System.Data.EntityState.Deleted; 16 17 //4把數據保存到數據庫 18 db.SaveChanges(); 19 //測試用----------------------- 20 Console.WriteLine("刪除成功"); 21 }