3
我有一个用php写的我的宠物项目。我的代码所做的一件工作是加载一堆csv文件,并将它们写入到具有自动生成的主键和多部分唯一键的MySQL表中。我没有任何控制权和检查方式是已经处理了一些文件,所以独特的密钥来得方便。我将数据插入INSERT IGNORE
表中,当我尝试插入已存在的数据并且所有工作都很好时,它会静默失败。ObjectContext.SaveChanges和重复的主键
现在,我试图在C#4类似的项目中使用LINQ到实体,但是当我尝试调用的对象ObjectContext.SaveChanges()
方法从已经在表文件,UpdateException
抛出与SqlClient.SqlException
作为内部异常。一个解决方案是将Ignore Duplicate Keys = Yes
索引,它还挺作品,但
- 在变更服务器上,而不是在客户端
- OptimisticConcurrencyException被套上更新与现有指数
有轻松优雅的方式来用L2E完成那些不涉及数据库更改的插入?
我建议保存更改之前,你检查的唯一性的关键领域。 – RBZ 2011-10-07 18:32:09