我需要编写一个将数据从RavnDB迁移到SQL的应用程序。 我正在从ravenDB中提取数据,同时它仍在接收大量写入。这意味着我通常会提取陈旧数据。 在SQL端,我有一个主键,它实际上是由乌鸦生成的GUID ID。因为我正在提取陈旧数据 - 有时相同的实体会返回。这很好,但是因为我在尝试保存更改时正在使用EF,所以我得到了一些DbUpdateException。 所以我想知道是否有办法告诉DbContext忽略DbUpdateException并继续插入?
任何想法或评论都会非常受欢迎, 感谢
答案 0 :(得分:1)
首先,我必须说你的解决方案中有一些可疑的东西(忽略错误通常是不好的做法) - 也许你应该考虑重新设计你的解决方案。
无论如何,如果您确实需要使用Entity Framework,可以选择为您的CRUD操作设置自定义存储过程in this article
您可以为插入创建SP:
INSERT INTO tragetTable
SELECT @id,@val1,@Val2
WHERE @Id NOT IN(select id from tragetTable)
这可能会成功 祝你好运