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