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();
}
}二、查詢
普通查詢
//查詢
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ù)年齡查找,多個(gè)結(jié)果時(shí),返回第一個(gè)
var stu2 = db.Student.Where(s=>s.Age==18).FirstOrDefault();
Console.WriteLine(stu1.Name);
Console.WriteLine(stu2.Name);
Console.WriteLine("======延遲查詢======");
//根據(jù)條件,返回IQueryable,說(shuō)明是延遲查詢
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);
}
};
}分頁(yè)查詢
//分頁(yè)查詢
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ù)查詢到
//方式一
//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)文章
前臺(tái)JS(jquery ajax)調(diào)用后臺(tái)方法實(shí)現(xiàn)無(wú)刷新級(jí)聯(lián)菜單示例
前臺(tái)用AJAX直接調(diào)用后臺(tái)方法,老有人發(fā)帖提問(wèn),沒(méi)事做個(gè)示例詳細(xì)介紹一下,感興趣的朋友可以參考下2013-01-01
如何利用HttpClientFactory實(shí)現(xiàn)簡(jiǎn)單的熔斷降級(jí)
這篇文章主要給大家介紹了關(guān)于如何利用HttpClientFactory實(shí)現(xiàn)簡(jiǎn)單的熔斷降級(jí)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫(kù)優(yōu)化措施 使用主從庫(kù)(全)
網(wǎng)站規(guī)模到了一定程度之后,該分的也分了,該優(yōu)化的也做了優(yōu)化,但是還是不能滿足業(yè)務(wù)上對(duì)性能的要求;這時(shí)候我們可以考慮使用主從庫(kù)。2010-06-06
ASP.NET檢測(cè)到不安全 Request.Form 值解決方案匯總
這篇文章主要介紹了ASP.NET檢測(cè)到不安全 Request.Form 值解決方案匯總 ,十分的全面,需要的朋友可以參考下2015-06-06
asp.net操作Word實(shí)現(xiàn)批量替換
這篇文章主要介紹了asp.net操作Word實(shí)現(xiàn)批量替換的方法,需要的朋友可以參考下2015-10-10
asp.net(C#)跨域及跨域?qū)慍ookie問(wèn)題
在網(wǎng)站www.A.com下通過(guò)iframe或ajax調(diào)用www.B.com下的內(nèi)容時(shí),默認(rèn)情況下IE會(huì)阻止www.B.com寫(xiě)任何Cookie2011-10-10
使用asp.net mvc,boostrap及knockout.js開(kāi)發(fā)微信自定義菜單編輯工具(推薦)
這篇文章主要介紹了使用asp.net mvc,boostrap及knockout.js開(kāi)發(fā)微信自定義菜單編輯工具,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-05-05

