我有其中兩個字段(idLocation, zipcode
)作爲主鍵的表:如何忽略違反主鍵約束中的LINQ to SQL
CREATE TABLE [dbo].[locationZipCode](
[idLocation] [int] NOT NULL,
[zipcode] [char](5) NOT NULL,
[state] [char](2) NULL,
CONSTRAINT [locationZipCode_pk_idLocation_zipcode] PRIMARY KEY CLUSTERED ([idLocation], [zipcode])
)
在我的應用我打電話:
context.InsertAllOnSubmit(entities);
context.SubmitChanges(ConflictMode.ContinueOnConflict);
並且在嘗試插入重複記錄時獲取重複密鑰違例。這是預料之中的。如果有任何記錄重複,則不插入記錄。 有沒有辦法忽略重複鍵的異常,並繼續插入任何不違反主鍵約束的記錄?
我知道我可以在我的應用程序中調用InsertAllOnSubmit()
之前驗證重複,但如果我能夠捕獲錯誤並繼續插入,那將是理想的。
循環遍歷實體並調用插入併爲每個實體提交。那麼你可以自己捕捉並處理錯誤。這聽起來像是一個可怕的想法。驗證您的輸入。 – cadrell0 2013-02-08 18:36:02