System.InvalidOperationException:“无法删除未提交的新行。”
时间: 2024-02-27 16:58:59 浏览: 143
这个异常通常出现在使用 Entity Framework 进行数据操作时,当你尝试删除一个未提交的新行时,就会抛出这个异常。解决这个问题的方法就是在删除之前,先将该行状态标记为已删除,然后再提交更改。具体的代码实现可以参考以下示例:
```
using (var context = new MyDbContext())
{
var entity = new MyEntity { Id = 1 };
context.MyEntities.Attach(entity);
context.MyEntities.Remove(entity);
context.SaveChanges();
}
```
在这个示例中,我们先创建一个新的实体对象,并将其状态标记为未追踪。然后,我们使用 Attach 方法将其附加到上下文中,并将其状态标记为未修改。接下来,我们调用 Remove 方法将其状态标记为已删除,最后调用 SaveChanges 方法提交更改。这样就可以避免出现“无法删除未提交的新行”的异常了。
阅读全文