EF?Core的CRUD(增刪改查)基本操作
一、增加(C)
單筆增加
//添加
static void Add()
{
using (var db = new Entities())
{
Student stu1 = new Student
{
Name = "李四",
Age = 19,
Adress = "合肥",
PhoneNumber = "13200000000"
};
//把實(shí)體對象附加到上下文
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實(shí)體類注解方法與mapper層和service層的CRUD方法
- vue?elementUI?處理文件批量上傳方式
- 解決elementui中NavMenu導(dǎo)航菜單高亮問題(解決多種情況)
- VUE-ElementUI?時間區(qū)間選擇器的使用
- 前端elementUI?select選擇器實(shí)現(xiàn)遠(yuǎn)程搜索
- ElementUI時間選擇器限制選擇范圍disabledData的使用
- vue.js基于ElementUI封裝了CRUD的彈框組件
相關(guān)文章
前臺JS(jquery ajax)調(diào)用后臺方法實(shí)現(xiàn)無刷新級聯(lián)菜單示例
前臺用AJAX直接調(diào)用后臺方法,老有人發(fā)帖提問,沒事做個示例詳細(xì)介紹一下,感興趣的朋友可以參考下2013-01-01
如何利用HttpClientFactory實(shí)現(xiàn)簡單的熔斷降級
這篇文章主要給大家介紹了關(guān)于如何利用HttpClientFactory實(shí)現(xiàn)簡單的熔斷降級的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫優(yōu)化措施 使用主從庫(全)
網(wǎng)站規(guī)模到了一定程度之后,該分的也分了,該優(yōu)化的也做了優(yōu)化,但是還是不能滿足業(yè)務(wù)上對性能的要求;這時候我們可以考慮使用主從庫。2010-06-06
ASP.NET檢測到不安全 Request.Form 值解決方案匯總
這篇文章主要介紹了ASP.NET檢測到不安全 Request.Form 值解決方案匯總 ,十分的全面,需要的朋友可以參考下2015-06-06
asp.net操作Word實(shí)現(xiàn)批量替換
這篇文章主要介紹了asp.net操作Word實(shí)現(xiàn)批量替換的方法,需要的朋友可以參考下2015-10-10
使用asp.net mvc,boostrap及knockout.js開發(fā)微信自定義菜單編輯工具(推薦)
這篇文章主要介紹了使用asp.net mvc,boostrap及knockout.js開發(fā)微信自定義菜單編輯工具,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-05-05

