我正在开发一个应用程序,其中一次将大量数据插入 SQL 数据库。我使用 LINQ to SQL,并有这样的东西作为我的插入操作:
foreach (var obj in objects) { context.InsertOnSubmit(obj); } context.SubmitChanges();
这就是问题所在:如果我遇到异常(例如 DuplicateKeyException),我不知道是什么对象导致了问题。我得到的唯一信息是至少有一个对象包含与数据库中其他键相同的键值。
是否可以提取有关哪些对象导致冲突的更多信息?
当然,我可以在每次 InsertOnSubmit 之后调用 SubmitChanges,但是由于我要插入的数据量,这非常慢。
有人对我有什么建议吗?谢谢!