如何使用ASP.NET核心标识删除管理员身份的用户



我尝试了很多方法和函数来实现这个函数,但都不起作用——有人能帮我解决这个问题吗?

我收到一个我不明白的错误:

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();

最新更新