为什么SaveChanges会在调试时调用?

时间:2010-07-07 17:08:03

标签: c# .net entity-framework linq-to-entities

我正在使用Entity Framework开发应用程序。

当我处于调试模式时,即使我没有按照SaveChanges方法退出调试,我的测试值也会保存到数据库中。

为什么会这样?

我花了4个小时试图搞清楚,但没有运气......

即使我在操作开始时有断点,我立即退出调试器 - 数据仍然存在......

1 个答案:

答案 0 :(得分:0)

嗯,事实证明调试器即使在断点上也会继续执行代码,如果我的代码中没有错误,它会将更改应用于数据库。

避免这种情况的一种方法是在代码中添加预处理器,如下所示:

#if !DEBUG 
      context.SaveChanges();
#endif

我无法通过SavingChanges方法跟踪它,因为我不确定我应该在那里寻找什么,有太多不同的东西,我没有足够的时间坚持下去。