我正在编码以读取 xml 文件以更新数据库。我得到大约 500 个 xml 文件,我想尽快处理它们。
所有数据库操作都是使用存储过程完成的。
每个 xml 文件都调用了大约 35 个不同的存储过程。
最初我写了这样的代码
var cmd = new SqlCommand("EXEC UpdateTeamStats("+teamId+","+points+")");
cmd.CommandType = CommandType.Text;
但经过一些最佳实践后,我将其更改为
var cmd = new SqlCommand("UpdateTeamStats");
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("teamId", 21);
cmd.Parameters.Add("points", 2);
由于从程序中调用了大量的存储过程,我意识到我必须减少调用次数才能进行优化。
所以我想把这35个存储过程全部收集起来,一口气执行。
存储过程因参数不同而不同,在我上面所做的参数更改后,我不知道如何将它们一起收集和执行。
我正在考虑调用一个巨大的存储过程,并在该存储过程中调用另一个 35 ,但我不太擅长 SQL,这会导致不必要的复杂性。
是否可以完全在 C# 中执行此操作?
或者是否有其他更好的方法来排队存储过程并快速运行它们