サードパーティのアプリケーションの上にあるWebアプリケーションを書いています。サードパーティのデータベースにオブジェクトを挿入できる唯一のサポートされている方法は、データを汎用の「ステージングテーブル」に挿入してから、Webサービスを呼び出してビジネスロジックで処理することです。
問題は、これがかなり遅くなる可能性があることです。
Linqでは、クラスごとにInsert *メソッドを提供して、単一の挿入を処理できることを知っています。問題は、Insert *メソッドがオブジェクトごとに個別に呼び出されることです。つまり、Webサービスを数回呼び出すのに遅れがあります。アソシエーションを処理する場合、これはさらに大きな問題です。アソシエーションが正しい順序で挿入され、挿入後にそれぞれが主キーでL2SQLオブジェクトを更新することを確認する必要があるためです。このメソッドを使用してWebサービスを半ダース往復することを意味する可能性のある複雑なオブジェクトの場合!:(
これで、Webサービス自体が実際に一度に複数のものを処理します。したがって、理想的には、オブジェクトとそれに関連するすべてのオブジェクトをステージングテーブルに挿入し、Webサービスを1回呼び出して、最後にすべての主キーを取得することができます。
Linq-to-Sqlでそれを実現する方法を知っている人はいますか?