一、增加(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("添加数据成功!");
}
}
}
批量增加
//批量处理
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);
}
//可以进行其他操作
db.SaveChanges();
}
}
二、查询
普通查询
//查询
static void Query()
{
using (var db = new Entities())
{
//根据ID进行查询
var stu1 = db.Student.Find(2);
var stu11 = db.Student.Where(x => x.Id == 1).FirstOrDefault();
//根据年龄查找,多个结果时,返回第一个
var stu2 = db.Student.Where(s=>s.Age==18).FirstOrDefault();
Console.WriteLine(stu1.Name);
Console.WriteLine(stu2.Name);
Console.WriteLine("======延迟查询======");
//根据条件,返回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);//也可以从数据库查询到
//方式一
//db.Student.Remove(stu);
//方式二
db.Entry(stu).State = System.Data.Entity.EntityState.Deleted;
int result = db.SaveChanges();
Console.WriteLine(result);
}
}
到此这篇关于EF Core增删改查CRUD的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。