這裡是寫給我自己做記錄的,不會寫成一篇很好的博客,也不會置頂,如果有朋友看到了,而且覺得裡面的內容不咋的,希望見諒哈! 關於這部分內容,這裡推薦一篇總結的非常好的博客,如果你點擊進來了,那麼請略過下麵的內容,直接點擊這個鏈接,因為寫的真的不錯:https://www.cnblogs.com/gosk ...
這裡是寫給我自己做記錄的,不會寫成一篇很好的博客,也不會置頂,如果有朋友看到了,而且覺得裡面的內容不咋的,希望見諒哈!
關於這部分內容,這裡推薦一篇總結的非常好的博客,如果你點擊進來了,那麼請略過下麵的內容,直接點擊這個鏈接,因為寫的真的不錯:https://www.cnblogs.com/gosky/p/5751815.html。
我個人還沒有對EF相關的內容進行詳細的整理,所以這篇隨筆的參考意義不大,只是貼一些代碼上去,以後有機會有時間,會對相關內容做一個總結。
使用EF操作資料庫的詳細步驟主要分為一下幾步:
1.創建EF實體資料庫模型:
在某個項目上點擊右鍵 添加 ==》數據 ==》ADO.Net實體資料庫模型 ==》然後按照提示去走;
2.實例化上下文
首先找到需要實例化的上下文的名字,在ef實體里的這個文件里:
打開該文件後,代碼如下:
紅框處的名字就是該實體的上下文。
實例化上下文的具體做法如下:
FirstDBEntities1 db = new FirstDBEntities1();
3.使用上下文操作資料庫 之 查詢操作
(1)根據主鍵id獲取某個表的數據
操作方法為:
UserInfo userInfo = new UserInfo(); userInfo = db.UserInfo.Find(id);
其中UserInfo是該數據表對應的實體類的類名,執行該操作後,即可獲取主鍵id為某個數的那一行的數據,然後通過 userInfo.XXX 即可獲去相應欄位的值;
(2)獲取某個數據表全部數據
操作方法為:
List<UserInfo> list = new List<UserInfo>
list = db.UserInfo.ToList();
執行該操作後久會把該數據表中的所有數據都取出來,存放在一個List集合中;
(3)根據其他條件進行查詢
var user = db.UserInfo.Where(u => u.userName == "AAA" );
這是使用lambda表達式進行查詢,查詢的結果是一個list集合,通過下麵的方法可以遍歷取出這些數據:
foreach(var item in user) { xxx = item.yyyy; }
4.使用上下文操作資料庫 之 增
創建一個實體數據對象,並對其各個欄位賦值,然後使用上下文執行增加操作,
UserInfo user = new UserInfo(); user.userName = "BBB"; user.passWord = "23456"; db.UserInfo.Add(user); db.SaveChanges();
需要註意的是,在執行完添加操作之後,需要執行 db.SaveChanges() 操作, 這句話的意思是,把我們修改的內容更新到資料庫中。
5.使用長下文操作資料庫 之 改
首先要指定你修改的某一行的id:
UserInfo user = new UserInfo(); user.UserId = 3;
接下來對要修改的欄位進行重新賦值:
user.userName = "CCC"; user.passWord = "1234567";
然後執行修改操作:
db.Entry(user).State = EntityState.Modified;
最後將修改保存到資料庫中
db.SaveChanges();
如果只修改單個屬性,比如只修改userName,則寫為:
UserInfo user = new UserInfo(); user.userId = 3; user.userName = "DDD"; db.Entry(user ).Property(u => u.userName).IsModified = true; db.SaveChanges();
6. 使用長下文操作資料庫 之 刪
UserInfo user = new UserInfo(); user.userId = 3; db.Entry<UserInfo>(user).State = System.Data.Entity.EntityState.Deleted; db.SaveChanges();
好了,先簡單寫一下,只是草草記錄,後續有時間會進行系統的歸納總結。