我有其中两个字段(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