C# 运行多个存储过程的最佳方法是什么?

C# 运行多个存储过程的最佳方法是什么?,c#,sql-server,stored-procedures,C#,Sql Server,Stored Procedures,我想运行多个存储过程,它将返回多个结果集(无插入)。我有以下几种方法。哪种方法更快更有效 在一个SP中异步运行多个SP。任何SP出现故障都不会影响其他SP 使用C#异步执行多个SP(取决于代码) 如果您想在单个过程中调用,可以在单个try catch块中逐个调用您的过程 Create Procedure [dbo].[procedureName] As Begin Begin Try exec procedure1 End Try Begin Catch print 'Error' End C

我想运行多个存储过程,它将返回多个结果集(无插入)。我有以下几种方法。哪种方法更快更有效

  • 在一个SP中异步运行多个SP。任何SP出现故障都不会影响其他SP
  • 使用C#异步执行多个SP(取决于代码)

  • 如果您想在单个过程中调用,可以在单个
    try catch
    块中逐个调用您的过程

    Create Procedure [dbo].[procedureName]
    As
    Begin
    
    Begin Try
    exec procedure1
    End Try
    Begin Catch
    print 'Error'
    End Catch
    
    Begin Try
    exec procedure2 
    End Try
    Begin Catch
    End Catch
    
    Begin Try
    exec procedure3 
    End Try
    Begin Catch
    End Catch
    ...
    
    End
    
    

    对于过程的异步调用,您可以使用SqlClient异步方法。

    “哪种方法最好?”您如何定义最佳方法,cpu周期、内存、维护、速度、易于阅读,您的狗喜欢它。选择一个你喜欢的,适合你的方法第一个更好。SQL server和应用程序服务器之间总是存在连接延迟。因此,您将通过只有一个远程调用来减少这种情况。我可以异步运行/执行它吗?有关异步过程调用的更多信息,您可以找到此链接。