EF的应用
EF的應用
// An highlighted blockEF是 EntityFramework 的簡稱。在程序和數據庫交互的過程中,起到了極大的方便。 EF的使用 首先在需要使用EF的項目單擊,然后 Ctrl+Shift+a 找到ADO.NET實體數據模型。 image單擊添加后,會讓選擇模型內容,目前用到的就只有 (數據表,存儲過程, 視圖),所以選擇添加 來自數據庫的EF設計器 image 點擊下一步,會讓我們選擇一個數據庫,如果沒有自己想要的數據庫連接,可以自己新建連接。然后我們會看到這個image 選擇是,然后直接下一步就可以了,別的都不用管。 這一步中就可以選擇表,視圖,或者存儲過程等了,這個根據自己需求添加即可。 跟之前一樣,別的什么都不用管,添加好之后的截圖: image最后一步點擊完成就可以了。由于文件比較大,所以添加后,可能會出現卡頓的現象。 添加后,解決方案中會增加這個文件夾: imageEF的實際應用(增刪改查)。 首先說明一下: 添加EF 之后,會自動的給程序添加實體類。EF的增加:首先實例化剛才添加的EF ,再用對象初始化器將自己要添加的對象實例化,然后使用EF添加再保存即可。案例:EFDBEntities efdb = new EFDBEntities();Students objStudent = new Students(){StudentName = "小明",ClassId = 2,Gender = "男"};efdb.Students.Add(objStudent);int result = efdb.SaveChanges(); 代碼詳解:首先實例化了 EF 然后使用對象初始化器將自己要添加的對象實例化 接下來用自己實例化的EF 添加一下剛才實例化后的對象 最后保存到數據庫中。 最后兩部的解釋:這兩行代碼看似是冗余的,但是實際上并不冗余,少了哪一行代碼都不行。其中 第一行代碼就是將這個對象添加到緩存中,但是并沒有上交到數據庫中,而第二行代碼就提交到了數據庫中,然后用一個int類型的參數接受執行的行數。(修改)想修改,就要先找到要修改的對象。首先還是實例化EF 其次就是查找需要修改的學員的對象。 (由于修改中用到了查詢,所以在這里就不介紹查詢了。直接參照這個修改的查詢就可以了。) 修改各個屬性的值 提交保存 在這里用到了兩種查詢方式,用哪個都可以,完全看個人愛好。首先將需要修改的對象 查詢出來。Students objStudent = efdb.Students.FirstOrDefault(s => s.StudentId == 1000006); 然后修改各個屬性值就可以。objStudent.StudentName = "張紅利";objStudent.PhoneNumber = "99999999"; 修改完之后提交保存。int result = efdb.SaveChanges(); 另一種查詢的方式Students objStudent = (from s in efdb.Studentswhere s.StudentId == 100006select s).First<Students>(); 通過主鍵列獲取對象信息。Students objStudent = efdb.Students.Find(100006); 注意:find只能查詢主鍵也就是id 然后獲取整個對象。里面不能查詢姓名等。如果取的是第一個值:Students objStudents = (from s in students select s).FirstOrDefault(); 如果取得是唯一值:objStudents = (from s in students select s).SingleOrDefault(); 兩者的區別:第一個值:獲取學員中的第一個對象.(可以是多個)唯一值:如果查詢結果只有一個.(必須是一個)First()、FirstOrDefault() 異同: - 相同點:都用于獲取結果集中的第一個元素- 不同點:如果序列中不包含任何元素,前者返回null,后者返回默認值Single()、SingleOrDefault()異同- 相同點:都用于獲取結果中的唯一元素- 不同點:如果序列中不包含任何元素,前者返回null,后者返回默認值- 特別注意:當數據源中包含多個元素時,這兩個方法會產生異常。 (刪除)想刪除,就要先找到要刪除的對象。首先實例化EF 查詢需要刪除的對象 從數據庫中刪除這個對象。 首先需要找到需要刪除的學員對象Students objStudent = efdb.Students.FirstOrDefault(s => s.StudentId == 100015); 然后從集合中刪除對象efdb.Students.Remove(objStudent); 最后保存到修改。int result = efdb.SaveChanges(); .Net Framework 支持的規范函數image轉自 https://www.cnblogs.com/trumpblogs/p/10362089.html總結
- 上一篇: 基于LORA的物联网手持终端解决方案
- 下一篇: 华中师大计算机专业陈鹏,考完就放假!这套