实际上我在DbContext
添加了两个实体,但如果按下取消按钮,我必须将其删除。
我该怎么做?
有一种类似的方法:
dbContext.Entry(MyEntity).Remove();
我需要这个,因为在取消后的下一个文件中,我的旧实体可能被误保存。
我尝试的事情:
Added
状态更改为Unchanged
但会引发异常。更新1:通常我创建一个新实例并将其添加到上下文
MyEntityType entity = new MyEntityType();
dbContext.MyEntityType.Add(entity);
答案 0 :(得分:1)
当您点击取消时,您应该执行您需要执行的操作,然后在需要时创建新上下文。由于某种原因,有一群程序员只使用1个上下文。应打开上下文,添加对象,附加,删除等。然后保存,然后关闭。它们不应该长时间开放。
如果您正在使用dbContext来管理稍后将保存的对象集合(不确定的时间长度),那么使用其他一些集合来存储它们。然后,当您准备保存更改时,创建您的上下文,添加,附加,删除和保存;然后立即关闭。
答案 1 :(得分:0)
您应该将Added
州更改为Detached
而不是Unchanged
。
尝试阅读documentation。