質問: レコードがデータベースに存在するかどうかに基づいて、SQL DBに挿入または更新する必要のあるレコードのリストがあります。 現在の流れは、各レコードを1つずつ処理してから、データベースを挿入または更新するタスクを実行するC#コードからストアドプロシージャを呼び出します。 上記のプロセスは非常に非効率的です。SQL Bulk Copyを使用してSQLDbにこれらを一度に挿入できますか? 上記はパフォーマンスを向上させます。 安心して
回答: `SqlBulkCopy`は挿入できます。あなたが*アップサート*する必要がある場合は、する場合があります`SqlBulkCopy` *ステージング表* (メインモデルの一部ではない片側にオフに別のテーブル)にして、TSQLでマージを行います。並行性(一度にステージングテーブルを使用できる人の数など)について考えることもできます。