我有一个" Apps"由多个应用数据组成的表 现在我想删除(软删除意味着使isDelete = true)
我通过以下代码删除记录。
var deletingISVCSPRecord = await db.ISVCSP.Where(s => s.BeneficiaryId == beneficiaryId).ToListAsync();
foreach (var item in deletingISVCSPRecord)
{
item.IsDeleted = true;
await db.SaveChangesAsync();
}
有什么好方法可以做到这一点。
感谢您的帮助。
答案 0 :(得分:0)
更好的方式意味着如果你更新大约10k记录这是更好的方法..它会将每个文件更新减少为一次更新。
foreach (var item in db.ISVCSP.Where(s => s.BeneficiaryId == beneficiaryId))
{
item.IsDeleted = true;
}
await db.SaveChangesAsync();
答案 1 :(得分:0)
我一直在做的是使用事务范围,并且只在所有更新后保存一次。到目前为止,这对我的项目来说已经足够好了,你可能想要以更高效的方式进行比较。
[
{
"id":"2",
"dateCreated":"2017-10-02 12:00:00",
"status":"Active"
"body":"This is a test 2"
}
]
答案 2 :(得分:0)
这将是更新记录而不是完全删除
假设您已经创建了模型名称ISVCSPModel
ISVCSPModel ISVCSPmodel= db.ISVCSP.Find(beneficiaryId)
db.Entry(ISVCSPmodel).State = EntityState.Modified;
ISVCSPmodel.IsDeleted = true;
db.SaveChangesAsync();