這里是寫給我自己做記錄的,不會寫成一篇很好的博客,也不會置頂,如果有朋友看到了,而且覺得里面的內容不咋的,希望見諒哈!
關於這部分內容,這里推薦一篇總結的非常好的博客,如果你點擊進來了,那么請略過下面的內容,直接點擊這個鏈接,因為寫的真的不錯: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();
好了,先簡單寫一下,只是草草記錄,后續有時間會進行系統的歸納總結。