调用SaveChanges()时是否仅保留EF数据更改?

时间:2013-03-06 11:06:08

标签: entity-framework-5 savechanges

我正在向我的应用添加一个“WhatIf”开关(受Powershell -WhatIf开关启发),它只是模拟数据处理,而不会将任何实际数据更改保存回EF存储。

我希望实现这一点的方法只是在调用SaveChanges()之前添加一个检查,如下所示:

if (WhatIf == false)
  efEntities.SaveChanges()

这样,应用程序的其余部分可以正常进行更改,只要从不调用SaveChanges(),我就不必担心会意外地进行任何更改。

这会有用吗?我担心SaveChanges会被EF的其他部分调用,例如Dispose,还是类似的东西?

谢谢!

1 个答案:

答案 0 :(得分:2)

它会起作用。 EF不会自己调用SaveChanges。开发人员始终负责持续进行更改。