我正在开发一个项目,需要在 C# 中使用
SqlCommand
对数据库执行批量操作。具体来说,我有一个 List<SqlCommand>
,其中包含针对数据库中不同表的删除和更新插入操作的组合。我希望批量有效地执行这些命令,以最大限度地减少数据库往返次数并提高性能。
挑战在于在单个批次中高效执行这些混合操作,并考虑不同类型的操作(删除和更新插入)以及它们之间的潜在依赖关系。
我一直在考虑是否使用表值参数或 SQL 批量操作来完成此任务。但是,由于我对此主题的了解有限,我不确定哪个选项最合适。
我尝试过实现
SqlBulkCopy
、StringBuilder
和表值参数,但在跨不同表集成删除和更新插入操作时遇到了挑战。