SqlBulkCopyを使用して変換を行っています。現在、クラスのIListコレクションがあり、基本的にSqlBulkCopyで使用するためにDataTableに変換できます。
問題は、同じIDで3つのレコードを持つことができることです。
説明させてください..ここに3つのレコードがあります
ID Name Address
1 Scott London
1 Mark London
1 Manchester
基本的に私はそれらを順番に挿入する必要があります..したがって、レコード1が存在しない場合は挿入し、次のレコードが存在する場合は、新しい1を挿入するのではなくレコードを更新する必要があります(IDはまだ1であることに注意してください)。 2番目のレコードの場合、ID1のNameとAddressの両方の列を置き換えます。
最後に、3番目のレコードで、名前は存在しないがID 1であり、マンチェスターのアドレスを持っていることに気付きます。したがって、レコードを更新する必要がありますが、名前を変更せずにマンチェスターを更新します。したがって、3番目のレコードはid1=になります。
ID Name Address
1 Mark Manchester
どうすればこれを行うことができますか?私は途方に暮れています。
ありがとう。
編集
少し更新します。SQLbulkCopyを使用する前に、レコードを管理およびマージします。何が成功し、何が失敗したかのリストを取得することは可能ですか...それともALLの場合ですか、それとも何もありませんか?SQLbulkCopyに代わるものは他にないと思いますが、更新を行う以外にありませんか?
すべてを挿入できることが理想的であり、失敗したものは一時テーブルに挿入されます...したがって、失敗したテーブルにあるものを修正することだけを心配する必要があります。