提问人:TrialByFire 提问时间:11/13/2023 最后编辑:marc_sTrialByFire 更新时间:11/14/2023 访问量:57
添加或更新 EF Core7
Add Or Update EF Core7
问:
使用 Entity Framework Core 7 实现添加或更新的最有效方法是什么?IEnumerable<MyEntity> myentities
尝试遍历每个项目,并
myDBContext.CustomAddUpdate(item);
myDBContext.SaveChanges();
CustomAddUpdate
方法使用给定实体的条目,并获取状态 Add 或 Update。DBContext
答:
1赞
Lucky
11/20/2023
#1
您好,我想我明白您想做什么,请查看以下方法是否适合您:
public void AddOrUpdateRange(IEnumerable<MyEntity> myentities)
{
var listForAddEntities= new List<MyEntity>();
var listForUpdateEntities= new List<MyEntity>();
foreach (MyEntity entity in myentities)
{
var entry = Entry(entity);
switch (entry.State)
{
case EntityState.Detached:
case EntityState.Added:
listForAddEntities.Add(entity);
break;
case EntityState.Modified:
listForUpdateEntities.Add(entity);
break;
//For Unchanged nothing to do
default:
//anything you want to do
}
}
AddRange(listForAddEntities);
UpdateRange(listForUpdateEntities);
}
评论
0赞
TrialByFire
11/20/2023
检查中,将更新。谢谢
评论
BULK INSERT
MERGE
AddOrUpdate
Update
UpdateRange
SaveChanges
Modified
Update