我正在使用LINQ以及Entity-Framework在SQL Server 2012数据库中插入一些数据。实体框架一次插入多行时忽略重复主键值
我正在插入数据的数据库表有一个主键,我一次插入大约1000条记录。
这是我检索一组1000行中的数据,并出于性能原因一次保存1000行。
现在的问题是,我可能偶尔会获得这1000行中的任何行的重复值,当发生这种情况时,没有任何行保存在数据库中。
有什么办法,我可以只是默默地忽略那一行,而不是插入它,而所有其他非重复行插入?
另外我也尝试在每次插入之前查询数据库,但性能成本太高。
在Sql Table本身中不能有重复的主键,因此实体框架无法做到这一点,约束不应该绕过但受到尊重,将用户操作排队到可以并行完成的作业中,用户移动到别的东西上。许多方式来处理这个,而不会忽略数据的完整性 –