歷來沒想到過能在這個上面翻車,感慨自學沒有培訓來得系統啊,廢話很少說html
ORM:對象關係映射(Object Relational Mapping,簡稱ORM,或O/RM,或O/R mapping),是一種程序技術,用於實現面向對象編程語言裏不一樣類型系統的數據之間的轉換sql
EF:數據持久化數據庫
是將內存中的數據模型轉換爲存儲模型,以及將存儲模型轉換爲內存中的數據模型的統稱;數據模型能夠是任何數據結構或對象模型,存儲模型能夠是關係模型、XML、二進制流等;其實,簡單來講,就是將數據存儲到數據庫中,爲何這麼說呢?由於持久化就不是暫時的,而存儲分爲暫存和永存兩個方面,暫存指的是存儲到了計算機的內存中,電源關閉即丟失。而永存就是存儲到了相似數據庫裏,數據就能夠反覆使用。除此之外,持久化封裝了數據訪問細節,爲大多數業務邏輯提供面向對象的API。編程
1. 經過持久化技術能夠減小訪問數據庫數據次數,增長應用程序執行速度;數據結構
2. 代碼重用性高,可以完成大部分數據庫操做; app
3. 鬆散耦合,使持久化不依賴於底層數據庫和上層業務邏輯實現,更換數據庫時只需修改配置文件而不用修改代碼編程語言
緊接正文,EF CodeFirst進行增刪改查的方式post
引用EntityFramework後,咱們創建好了實體模型學習
添加:url
一、聲明 一個EF的上下文
dbEntities dbContext = new dbEntities();
二、聲明一個User實體
YJ_USERS user = new YJ_USERS(); user.LoginName = "****"; user.Mail = "****"; user.PassWord = "****"; user.Plane = "****"; user.UserName = "****"; user.cardNo = "****"; user.phone = "****";
三、 告訴EF我們對上面的實體作一個插入操做
dbContext.YJ_USERS.Add(user);
告訴上下文把實體的變化保存到數據庫裏面去。
dbContext.SaveChanges();//添加、修改、刪除時都要用到的
修改:
一、聲明一個User實體
YJ_USERS user = new YJ_USERS(); user.LoginName = "111"; user.Mail = "ssss"; user.PassWord = "ssss"; user.Plane = "ssss"; user.UserName = "ssss"; user.cardNo = "ssss"; user.phone = "ssss"; user.ID = 1;//修改的時候指定id
二、告訴上下文我們的對此實體進行更新操做
dbContext.Entry(YJ_USERS).State = EntityState.Modified; //這裏只修改一列 dbContext.Entry(YJ_USERS).Property(u => u.UserName).IsModified = true;
三、告訴上下文把實體的變化保存到數據庫裏面去
dbContext.SaveChanges();//執行sql腳本的地方
刪除:
一、聲明一個User實體
YJ_USERS user = new YJ_USERS(); user.LoginName = "111"; user.Mail = "ssss"; user.PassWord = "ssss"; user.Plane = "ssss"; user.UserName = "ssss"; user.cardNo = "ssss"; user.phone = "ssss"; user.ID = 1;//刪除的時候指定id
二、告訴上下文我們的對此實體進行刪除操做
1.dbContext.Entry<HKSJ_USERS>(user).State = System.Data.EntityState.Deleted;
2.dbContext.YJ_USERS.Remove(user);
db.SaveChanges();
查詢:
var data = dbContext.YJ_USERS.Where(u => u.ID > 0); foreach (var userInfo in data) { Console.WriteLine(YJ_USERS.ID + " " + YJ_USERS.UserName); }
這裏附一篇博客吧,裏面寫的挺詳細的
【EF學習筆記04】----------EF簡單增刪改查https://www.cnblogs.com/gosky/p/5751815.html