插入到SQL Server時,我有一大束插入我的DataContext通過在交易做的。 我將兩種類型的對象:A和B錯誤通過System.Data.Linq.DataContext
我做執行許多SQL插入,如:
INSERT INTO A (...) VALUES ('11111111-1111-1111-1111-111111111111',..)
INSERT INTO B (...) VALUES (
'21111111-1111-1111-1111-111111111111',
'11111111-1111-1111-1111-111111111111',...)
分別在
db.ExecuteCommand(sql.ToString(), processedParams.ToArray());
表B有外鍵A.
有時候,我得到這樣的錯誤: 違反FOREIGN KEY約束「FK_B_A」對錶「A」。列「GUID」。
有時所有記錄成功地插入到數據庫中。除了動態生成的GUID之外,數據束總是相同的。
它看起來像在插入到B插入到A
你的錯誤是贈送什麼是錯的..在你的代碼,你做任何承諾..或者你在做類似散裝插入,然後提交..記得誤差不會很明顯,直到提交調用..我會建議做單插入和承諾找出你想要插入什麼重複的密鑰..你是否使用C#方法來生成和返回新的GIUD的那些通常是唯一的鍵,所以如果你是硬編碼,並試圖插入相同的密鑰...以及將生成外鍵約束。 – MethodMan 2011-12-19 17:00:35
你知道SQL插入你有沒有不正確的權利? INSERT INTO(列名)VALUES(實際值)''。您從中創建查詢字符串的代碼示例可能有助於找到此問題。 – 2011-12-19 17:09:38
對不起,我只是寫錯樣品。有時所有記錄都成功插入數據庫。 – gabba 2011-12-19 17:09:43