複数のテーブルの値を使用して複数の行を挿入する効率的な方法を探しています!
基本的に、XML を解析し、データベースに挿入するカスタム オブジェクトのリストを作成しています。これらの行の値の一部は XML に含まれていますが、他のテーブルから取得する必要があるものもあります。
例:
2 つのテーブル:
Person:
PersonID (identity), Name (nvarchar), CountryID
Country (a lookup table including my id and the one I get from the XML)
CountryID (identity) , CountryXMLID, Name
C# でリストを確認し、チーム (カスタム オブジェクト) のリストを作成してから、1 分あたり平均 1000 行でこれを実行したいと考えています。
INSERT INTO Person (Name, CountryID)
SELECT 'George', CountryID FROM Countries WHERE CountryXMLID = '1';
個人名と国のフィード ID が XML に含まれています。XML の ID ではなく、Person テーブルの ID を使用したいと考えています。
これらの挿入を実行するための効率的な方法について、誰かがアドバイスしてくれませんか。
私は、DataTable を作成してから SQLBulkCopy を使用し、ストアド プロシージャを使用してデータテーブルをループし、それぞれに対して上記のステートメントを実行すること、および EntityFramework、Telerik Data Access などの ORM を使用することを考えていました。