我正在测试Breeze Server Side上的BeforeSaveEntities的用户定义覆盖。我有一个断点,我正在观察saveMap,我在EFContextProvider的子类上调用一个方法来遍历要保存的每个实体。
然后,当我单击Visual Studio中的“调试停止”按钮时,仍然会发生“保存”。如果我将BeforeSaveEntities返回的返回值从原始saveMap返回null返回null,则不会。
当我要“测试”删除时,这有点令人不安......因为我正在尝试编写将执行“软”删除的代码。
无论如何,我的问题是,是否有解决方法,所以我不必在测试期间设置“返回null”?
但更重要的是,如果我抛出EntityErrorsException,它会按预期停止保存。 :)
感谢。鲍勃
答案 0 :(得分:0)
这是因为您只是从正在运行的IIS / IIS Express实例中分离Visual Studio调试器。一旦分离调试器,请求的执行将继续在Web服务器上执行,因此,其余代码将被执行。
快速解决方法是将null返回代码包装在编译器条件中并检查DEBUG符号。这些方面的东西:
#if DEBUG
return null;
#endif
应使用RELEASE编译器符号而不是DEBUG符号构建生产代码以启用删除。