使用ADO.NET實體數據模型

前景:要操做的數據表必須添加主鍵(方式:進入數據庫-->數據表名-->設計-->列名右鍵-->設置主鍵)數據庫

 

 可在服務器資源管理器中查看是否設置了主鍵(主鍵會有一把鑰匙的圖樣)服務器

1)、項目名右鍵-->新建項-->ADO.NET數據模型ide

  

 

 

   選擇第一個「來自數據庫的EF設計器」就行spa

  

 

 

 若是是第一次鏈接,點擊新建鏈接完成操做便可,下面選擇   「是,在鏈接字符串中包含敏感數據」設計

  

 

 

 選擇須要添加的數據庫對象,點擊完成。3d

2)、操做數據表的增刪改查code

  2.1)、聲明一個 EF的上下文.(這個上下文指向數據庫)對象

  

 

 

 這個對象能夠聲明成全局的上下文blog

StudentEntities dbContext = new StudentEntities();

 

  2.2)、增資源

   1 //聲明一個實體,並賦值 

 2 Students stu = new Students();
 3             stu.StudentName = "李四";
 4             stu.StudentSex = "";
 5             stu.StudentAge = 19;
 6             stu.StudentProvince = "上海";
 7             stu.StudentPhone = "17468523001";
 8 
 9             //寫法一:
10             //dbContext.Students.Add(stu);
11             //寫法二:
12             dbContext.Entry<Students>(stu).State = System.Data.Entity.EntityState.Added;
13 
14         //告訴上下文把實體的變化保存到數據庫裏面去,返回受影響行數
15             int i = dbContext.SaveChanges();
        //三元表達式
16 string str = i == 1 ? "添加成功" : "添加失敗"; 17 Console.WriteLine(str);

  2.3)、刪

1  Students stu = new Students();
2             stu.StudentNO = 1833200159;
3 
4             dbContext.Entry<Students>(stu).State = System.Data.Entity.EntityState.Deleted;
5             int i = dbContext.SaveChanges();
6             string str = i == 1 ? "刪除成功" : "刪除失敗";
7             Console.WriteLine(str);

  2.4)、修改整條數據

 1 Students stu = new Students();
 2             stu.StudentNO = 1833200160;
 3             stu.StudentName = "趙六";
 4             stu.StudentSex = "";
 5             stu.StudentAge = 20;
 6             stu.StudentProvince = "廣州";
 7             stu.StudentPhone = "18654257894";
 8 
 9             dbContext.Entry<Students>(stu).State = System.Data.Entity.EntityState.Modified;
10             int i = dbContext.SaveChanges();
11             string str = i == 1 ? "修改爲功" : "修改失敗";
12             Console.WriteLine(str);

  2.4.2)、修改單個屬性

 1 Students stu = new Students();
 2             stu.StudentNO = 1833200160;
 3             stu.StudentName = "露絲";
 4             stu.StudentAge = 0;
 5             stu.StudentSex = "";
 6             stu.StudentProvince = "";
 7             stu.StudentPhone = "";
 8 
 9             //將當前實例附加到上下文來處理
10             dbContext.Students.Attach(stu);
11 
12             //寫法一:
13             //這裏修改了名字和性別,由於其餘的屬性字段是不可空的因此爲了經過驗證必須
14             //賦值(賦上了任意的值,可是咱們並無保存這些更改)
15             //dbContext.Entry<Students>(stu).Property("StudentName").IsModified = true;
16             //dbContext.Entry<Students>(stu).Property("StudentSex").IsModified = true;
17 
18             //寫法二:Lambda表達式
19             dbContext.Entry<Students>(stu).Property<string>(s => s.StudentName).IsModified = true;
20             dbContext.Entry<Students>(stu).Property<string>(s => s.StudentSex).IsModified = true;
21 
22             int i = dbContext.SaveChanges();
23             string str = i == 1 ? "修改爲功" : "修改失敗";
24             Console.WriteLine(str);
View Code

  2.5)、查詢整張數據表

1 foreach (var item in dbContext.Students)
2             {
3                 //打印整張表的學號和姓名
4                 Console.WriteLine("學號: " + item.StudentNO + "    姓名: " + item.StudentName);
5             }

  2.5.2)、Linp表達式按條件查詢數據

1  //查詢整張表女生的信息
2             var temp = from s in dbContext.Students
3                        where s.StudentSex == ""
4                        select s;
5             foreach (var item in temp)
6             {
7                 //打印女生的信息
8                 Console.WriteLine(item.StudentName);
9             }
相關文章
相關標籤/搜索