添加(add/create)操作
using (var db = new MyDbContext())
{
{
var model=new Model(){初始化};
db.Set<>.Add(model);//添加到集合
db.SaveChanges();//保存
}
db.Set<>.Add(model);//添加到集合
db.SaveChanges();//保存
}
红色字体为DbSet集合
删除(delete/remove)操作
基本方法:
先查找,再删除
using (var db = new MyDbContext())
{
{
var model=db.Set<>.Find(id);//查找待删除项
db.Set<>.Remove(model);//从集合中移除
db.SaveChanges();//保存
}
db.Set<>.Remove(model);//从集合中移除
db.SaveChanges();//保存
}
红色字体为DbSet集合
最佳方法:
直接传递ID进行删除,避免查找
using (var db = new MyDbContext())
{
{
var model=new Model(){ID=id};//ID为key,创建仅包含ID实体
db.Entry(model).State = EntityState.Deleted;//标识库中对应实体为删除状态
db.SaveChanges();//保存
}
db.Entry(model).State = EntityState.Deleted;//标识库中对应实体为删除状态
db.SaveChanges();//保存
}
修改(update/modify)操作
基本方法:
先查找,再更新
using (var db = new MyDbContext())
{
{
var model=db.Set<>.Find(id);//查找待更新项
model.属性=新值
model.Name="New Name";//更新
model.属性=新值
model.Name="New Name";//更新
db.SaveChanges();//保存
}
红色字体为DbSet集合
最佳方法:
}
红色字体为DbSet集合
直接通过ID进行更新,避免查找
using (var db = new MyDbContext())
{
{
var model=new Model(){ID=id};//ID为key,创建仅包含ID实体
model.属性=新值
model.Name="New Name";//更新
db.Entry(model).State = EntityState.Modified;//标识库中对应实体为修改状态
db.SaveChanges();//保存
}
model.Name="New Name";//更新
db.Entry(model).State = EntityState.Modified;//标识库中对应实体为修改状态
db.SaveChanges();//保存
}
注意:以上代码均为结构性指导代码,不能编译通过。
model.属性=新值