1
我正在开发使用实体框架的应用程序。为什么SaveChanges在调试时调用?
当我处于调试模式时,即使我没有点击SaveChanges方法,我的测试值也会保存到数据库中。
这是怎么发生的?
我花了4小时试图数字出来,但没有运气....
即使我有我的动作开始断点,我退出调试器马上 - 数据仍然在继续。 ..
我正在开发使用实体框架的应用程序。为什么SaveChanges在调试时调用?
当我处于调试模式时,即使我没有点击SaveChanges方法,我的测试值也会保存到数据库中。
这是怎么发生的?
我花了4小时试图数字出来,但没有运气....
即使我有我的动作开始断点,我退出调试器马上 - 数据仍然在继续。 ..
呃,事实证明,调试器即使在断点上时仍然继续执行代码,并且如果代码中没有错误,它会将更改应用于数据库。为了避免这种
一个办法 - 就是预处理程序添加到您的代码是这样的:
#if !DEBUG
context.SaveChanges();
#endif
我是不是能够通过SavingChanges的方法来跟踪它,因为真的不知道我应该怎么找那里,有很多不同的事情,我没有足够的时间来阻止。
您的代码中有一个错误。处理'SavingChanges',在那里放置一个断点,并在停止时查看调用堆栈。 – 2010-07-07 17:42:02
我应该在那里寻找什么? – Alex 2010-07-07 21:24:22
您在调用堆栈中寻找导致调用SaveChanges的东西。 – 2010-07-08 12:28:45