EF?Core的CRUD(增刪改查)基本操作
更新時間:2022年04月27日 11:15:31 作者:農(nóng)碼一生
這篇文章介紹了EF?Core的CRUD(增刪改查)基本操作?,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
一、增加(C)
單筆增加
//添加 static void Add() { using (var db = new Entities()) { Student stu1 = new Student { Name = "李四", Age = 19, Adress = "合肥", PhoneNumber = "13200000000" }; //把實體對象附加到上下文 db.Student.Add(stu1); //db.Entry(stu1).State=System.Data.Entity.EntityState.Added; var res = db.SaveChanges(); if (res > 0) { Console.WriteLine("添加數(shù)據(jù)成功!"); } } }
批量增加
//批量處理 static void AddBatch() { using (var db = new Entities()) { for (int i = 1; i < 10; i++) { var stu1 = new Student { Name = "Rimche" + i, Age = 19 + i, Adress = "合肥", PhoneNumber = "1730000000" + i }; db.Student.Add(stu1); } //可以進(jìn)行其他操作 db.SaveChanges(); } }
二、查詢
普通查詢
//查詢 static void Query() { using (var db = new Entities()) { //根據(jù)ID進(jìn)行查詢 var stu1 = db.Student.Find(2); var stu11 = db.Student.Where(x => x.Id == 1).FirstOrDefault(); //根據(jù)年齡查找,多個結(jié)果時,返回第一個 var stu2 = db.Student.Where(s=>s.Age==18).FirstOrDefault(); Console.WriteLine(stu1.Name); Console.WriteLine(stu2.Name); Console.WriteLine("======延遲查詢======"); //根據(jù)條件,返回IQueryable,說明是延遲查詢 var query = db.Student.Where(s => s.Id > 3); foreach (var item in query) { Console.WriteLine(item.Id + "\t" + item.Name); } //查詢所有 Console.WriteLine("======查詢所有======"); var queryall=db.Student.ToList(); foreach (var item in queryall) { Console.WriteLine(item.Id + "\t" + item.Name); } }; }
分頁查詢
//分頁查詢 static void PagingQuery(int pageIndex,int pageSize) { using (var db=new Entities()) { //分頁一定要排序 var query = db.Student.OrderBy(s=>s.Id).Skip((pageIndex -1)*pageSize).Take(pageSize).ToList(); foreach (var item in query) { Console.WriteLine(item.Id + "\t" + item.Name); } } }
三、更新
提供兩種更新方式
//更新 static void Update() { using (var db =new Entities()) { //方式一:官方推薦 只會修改需要修改字段 Student stu = db.Student.Where(s => s.Id == 1).FirstOrDefault(); stu.Name = "李時珍"; db.SaveChanges(); //方式二:修改所有字段 Student stu1 = db.Student.Where(s => s.Id == 2).FirstOrDefault(); stu1.Age = 10; db.Entry(stu1).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } }
四、刪除
提供兩種刪除方式
static void Delete() { using (var db = new Entities()) { var stu = db.Student.Find(2);//也可以從數(shù)據(jù)庫查詢到 //方式一 //db.Student.Remove(stu); //方式二 db.Entry(stu).State = System.Data.Entity.EntityState.Deleted; int result = db.SaveChanges(); Console.WriteLine(result); } }
到此這篇關(guān)于EF Core增刪改查CRUD的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Mybatis-Plus 通用CRUD的詳細(xì)操作
- mybatisplus?復(fù)合主鍵(多主鍵)?CRUD示例詳解
- Mybatis-Plus實體類注解方法與mapper層和service層的CRUD方法
- vue?elementUI?處理文件批量上傳方式
- 解決elementui中NavMenu導(dǎo)航菜單高亮問題(解決多種情況)
- VUE-ElementUI?時間區(qū)間選擇器的使用
- 前端elementUI?select選擇器實現(xiàn)遠(yuǎn)程搜索
- ElementUI時間選擇器限制選擇范圍disabledData的使用
- vue.js基于ElementUI封裝了CRUD的彈框組件
相關(guān)文章
給Asp.Net初學(xué)者的關(guān)于繼承和多態(tài)性的例子
給Asp.Net初學(xué)者的關(guān)于繼承和多態(tài)性的例子...2006-09-09ASP.NET?Core中使用Redis實現(xiàn)緩存
本文詳細(xì)講解了ASP.NET?Core中使用Redis實現(xiàn)緩存的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03合并網(wǎng)頁中的多個script引用實現(xiàn)思路及代碼
為了更好的進(jìn)行封裝,每個實現(xiàn)不同功能的js代碼應(yīng)該有自己的js文件,這樣如果一個網(wǎng)頁中引用了多個js文件會很難管理,所以就出現(xiàn)了合并js這以說,感興趣的朋友不妨參考下本文希望對你有所幫助2013-02-02C#默認(rèn)以管理員身份運行程序?qū)崿F(xiàn)代碼
權(quán)限不夠,導(dǎo)致無法修改系統(tǒng)時間,于是我以管理員身份運行了一次,結(jié)果測試成功,下面為大家介紹下C#如何默認(rèn)以管理員身份運行程序2014-03-03DropDownList獲取的SelectIndex一直為0的問題
由于初始化判斷出錯導(dǎo)致每次傳到服務(wù)器的時候會初始化一次,這就導(dǎo)致每次獲取DropDownList的SelectIndex的時候只能是02014-06-06Asp.NET MVC中使用SignalR實現(xiàn)推送功能
這篇文章主要為大家詳細(xì)介紹了Asp.NET MVC 中使用 SignalR 實現(xiàn)推送功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10