使用 Entity Framework (4.3.1.0) 处理项目。我试图弄清楚如何使我的代码作为事务工作,但对我来说,事务失败后我的模型似乎没有更新。
让我演示给你看:
using (TransactionScope trans = new TransactionScope())
{
_database.Units.Add(new Unit{ ... });
var a = false;
if (a)
{
trans.Complete();
Refresh();
}
}
Refresh();
我的经验是,在事务范围完成后,它不会回滚到以前的状态。当我运行刷新方法时,我会遍历 Units 中的所有项目并将值插入到一个 ObservableCollection 中,我在 WPF 窗口的屏幕上显示它。
此机制适用于我成功执行事务时,但是当我运行上面的代码时,网格会使用新添加的单元更新,但在事务后运行 Refresh 后它并没有消失。
我觉得我在这里做的事情根本上是错误的:)