我尝试了很多方法和函数来实现这个函数,但都不起作用——有人能帮我解决这个问题吗?
我收到一个我不明白的错误:
DbUpdateConcurrentException:数据库操作预期影响1行,但实际影响0行。自加载实体以来,数据可能已被修改或删除。看见http://go.microsoft.com/fwlink/?LinkId=527962有关理解和处理乐观并发异常的信息。
这是我的代码:
[HttpGet]
public async Task<IActionResult> Delete(string id)
{
if (id == null)
{
return NotFound();
}
var applicationuser = await db.ApplicationUsers.FindAsync(id);
if (applicationuser == null)
{
return NotFound();
}
return View(applicationuser);
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Delete(ApplicationUser user)
{
db.ApplicationUsers.Remove(user);
await db.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
据我所知,[Timestamp]属性可能会导致此错误
pic
如果这是导致错误的原因,你可以在你的上下文类中尝试这个代码
modelBuilder.Entity<ApplicationUser>().Property(p => p.TimeStamp).IsConcurrencyToken();