C# 实体框架不可移动

C# 实体框架不可移动,c#,entity-framework-core,C#,Entity Framework Core,我试图删除一个没有依赖项的实体。如果是这样,我将捕获异常并将其更新为非活动状态。但是,它仍然抛出一个异常。我很确定这是因为它仍然被标记为要删除 我该如何解决这个问题 try { _context.User.Remove(user); await _context.SaveChangesAsync(); } catch (DbUpdateException ex) when (ex.InnerException is SqlException && (ex.Inne

我试图删除一个没有依赖项的实体。如果是这样,我将捕获异常并将其更新为非活动状态。但是,它仍然抛出一个异常。我很确定这是因为它仍然被标记为要删除

我该如何解决这个问题

try
{
    _context.User.Remove(user);
    await _context.SaveChangesAsync();
}
catch (DbUpdateException ex) when (ex.InnerException is SqlException && (ex.InnerException as SqlException).Number == 547)
{
    // Mark as inactive
    user.Inaktiv = true;
    await _context.SaveChangesAsync(); // <---- Throws same exception as above
}
试试看
{
_context.User.Remove(用户);
wait_context.SaveChangesAsync();
}
当(ex.InnerException为SqlException&(ex.InnerException为SqlException)时捕获(DbUpdateException ex)。编号==547)
{
//标记为不活动
user.Inaktiv=true;

wait_context.saveChangesSync();//通过重置更改跟踪解决了此问题:

// Reset tracking from deleted to unchanged
_context.Entry(user).State = EntityState.Unchanged;
// Mark as inactive
user.Inaktiv = true;
await _context.SaveChangesAsync();

请提供一个错误是可复制的。我认为我有什么问题是很清楚的