DbContext - 忽略DbUpdateException并继续

时间:2012-04-04 16:02:39

标签: entity-framework-4 ravendb dbcontext

我需要编写一个将数据从RavnDB迁移到SQL的应用程序。 我正在从ravenDB中提取数据,同时它仍在接收大量写入。这意味着我通常会提取陈旧数据。 在SQL端,我有一个主键,它实际上是由乌鸦生成的GUID ID。因为我正在提取陈旧数据 - 有时相同的实体会返回。这很好,但是因为我在尝试保存更改时正在使用EF,所以我得到了一些DbUpdateException。 所以我想知道是否有办法告诉DbContext忽略DbUpdateException并继续插入?

任何想法或评论都会非常受欢迎, 感谢

1 个答案:

答案 0 :(得分:1)

首先,我必须说你的解决方案中有一些可疑的东西(忽略错误通常是不好的做法) - 也许你应该考虑重新设计你的解决方案。
无论如何,如果您确实需要使用Entity Framework,可以选择为您的CRUD操作设置自定义存储过程in this article 您可以为插入创建SP:

 INSERT INTO tragetTable
 SELECT @id,@val1,@Val2
 WHERE @Id NOT IN(select id from tragetTable)

这可能会成功 祝你好运