質問: 私のASP.NET MVCアプリケーションには、Entity Framework 6経由でSQL Serverデータベースにアクセスする多くのWebサーバーがあります。データベースには、1対多数の関係を持つ2つのテーブルがあります。 1日に1回、両方のテーブルの内容全体を、リモートWebサービスからインターネット経由でロードされる新しいデータセットに置き換える必要があります。記録の数は数千から数千になるかもしれません。レコードはそれほど大きくなく、それぞれ約10のnvarcharフィールドと整数フィールドを持ちます。 私は1つのWebサーバーに2つのSQL ServerテーブルにリモートWebサービスからデータセットをロードさせることを計画しています。古いコンテンツを削除し、新しいコンテンツを効率的に読み込む必要があります。これが起こっている間に、他のWebサーバーは(おそらくテーブルをロックすることによって)テーブルにアクセスすることを防止する必要があります。 私はこれを達成するための迅速な選択肢とその長所と短所を探しています。これを行うNuGetパッケージまたはEntity Frameworkコマンドがある場合は、それが理想的です。
回答: テンポラリ・テーブルにロードし、マージ(マージ・ステートメント)すると、毎日の使用表にマージされます。