トランザクションでDataContextを使用しているインサートが大量にあります。 Iオブジェクトの二種類の挿入:私のような多くのSQLインサート実行しないAとBSystem.Data.Linq.DataContextを使用してSQL Serverに挿入するときのエラー
を:
db.ExecuteCommand(sql.ToString(), processedParams.ToArray());
テーブルBに別々
INSERT INTO A (...) VALUES ('11111111-1111-1111-1111-111111111111',..)
INSERT INTO B (...) VALUES (
'21111111-1111-1111-1111-111111111111',
'11111111-1111-1111-1111-111111111111',...)
はA.
への外部キーを持っています時々、次のようなエラーが発生します。 テーブル "A"のFOREIGN KEY制約 "FK_B_A"に違反しました。列「GUID」。
すべてのレコードがDBに挿入されることがあります。動的に生成されるGUIDを除いて、データ束は常に同じです。
Bへの挿入が時々A.
あなたのエラーはあなたのコード内で間違っています。あなたはコミットをしていますか?バルクインサートとコミットのようにしていますか?トランザクションを介して行うとき、エラーはコミットコール..私は単一の挿入を行うことを提案し、あなたが挿入しようとしている重複するキーを把握するためにコミットすることをお勧めします。C#のメソッドを使用して生成し、新しいGIUDを返すのは一般的にユニークなキーなので、同じキー...外部キー制約が生成されます。 – MethodMan
あなたは正しく挿入されているSQLインサートを知っていますか? 'INSERT INTO A(列名)VALUES(実際の値)'です。クエリ文字列を作成する場所のコードサンプルは、この問題の特定に役立ちます。 –
申し訳ありませんサンプルを書くときに間違います。場合によっては、すべてのレコードが正常にDBに挿入されることがあります。 – gabba