如何在实体框架(在 VB Net 中)中出现 SaveChanges () 错误后继续插入



如何在实体框架(在VB Net中(中出现SaveChanges((错误后继续插入...违规PK后。
- 程序在数据库上停止。保存更改(((即使在尝试捕获...抓不工作(
- 我想忽略此错误并继续。
- 约束PK是一个日期

                    For Each cpt As dbo.XXX In compt
                        Dim RSK As New dbo.YYY
                        RSK.RSK_UNITE = cpt.RES_UNITE
                        RSK.RSK_CODE = cpt.RES_CODE
                        RSK.RSK_DATE = valeurs.Item3 ' *** date
                        db.dbo.YYY.Add(RSK)
                    Next
                Try
                   Dim num As Integer = db.SaveChanges()
                Catch generatedExceptionName As OptimisticConcurrencyException
                    Dim ctxSTK = (CType(db, IObjectContextAdapter)).ObjectContext
                    ctxSTK.Refresh(RefreshMode.ClientWins, compt)
                    ctxSTK.SaveChanges()                      
                Catch monex As Exception
                    MsgBox(monex.ToString())
                End Try

实体框架 6
视窗 10
Visual Studio 2017 VB Net

好的....解决了!

Dim flagDuplicates = From d In db.TB_XXX Where (d.RSK_UNITE = cpt.RES_UNITE And d.RSK_CODE = cpt.RES_CODE And d.RSK_DATE = valeurs.Item3) Select d
                        If flagDuplicates.Count() = 0 Then
                            db.XXX.Add(RSK)
                        End If

最新更新