如何停止Visual Studio调试,使sql数据库更改不提交

本文关键字:数据库 提交 sql Visual 何停止 Studio 调试 | 更新日期: 2023-09-27 17:55:05

我白天处理几个代码页和存储过程。我寻找一个简单的方法来停止visual studio,而调试,所以数据库更改回滚。由于我使用几个页面,所以我不想在我的页面或我使用的每个SP中添加此代码。有一个快捷方式或命令,我可以在即时窗口使用?(我对其他解决方案持开放态度-这些都是我想到的)如果我可以手动抛出异常(不是用代码写的,在即时窗口可能是,它可能工作)

如何停止Visual Studio调试,使sql数据库更改不提交

我认为最好的方法是使用TransactionScope类。

中封装你的db调用
 using (TransactionScope scope = new TransactionScope())
{
   // Invoke your database calls
   scope.Complete(); // Put a break point here and stop the program when the break point is hit.
}

我通常使用进程资源管理器杀死w3wp.exe进程。或者,您可以将调试器中的"黄色标记"拖放到提交之后的某个点,以便跳过提交。我有时也会将变量设置为null,并以这种方式引发崩溃。

如果你想抛出一个异常,你可以使用即时窗口,在到达断点后。

问题是,你不能在即时窗口中使用如下内容:

throw new ApplicationException("Forced exception");

但是你可以创建这个方法,然后从即时窗口

启动它
public static void ForceAnException()
{
    throw new ApplicationException("Forced exception");
}

当前窗口:

ForceAnException();

编辑:

那么试试这个:

var throwEx = false;
if(throwEx) ForceAnException();

并在检查条件之前将立即窗口的throwEx更改为true…