アプリケーションの更新セクションに取り組んでいます。ApplyCurrentValues を使用したいのですが、機能していないようです (不明)
Dim e = (From o In x.Concours Where o.numero_concours = concours.numero_concours Select o).FirstOrDefault()
x.ApplyCurrentValues(e.EntityKey.EntitySetName,concours)
x.savechanges()
それを機能させるために、コードを次のように変更しました。
x.Concours.Attach(New Concour With {.numero_concours = concours.numero_concours})
Dim e = New Concour With {.numero_concours = concours.numero_concours}
x.Entry(concours).CurrentValues.SetValues(e)
x.SaveChanges()
しかし、それは私にこのエラーを与えます
エンティティがコンテキストに存在しないため、エンティティ タイプ 'Concour' のメンバ 'CurrentValues ' を呼び出せません。エンティティをコンテキストに追加するには、DbSet または Attach の Add メソッドを呼び出します。
だから、私は代わりにこれを使用しました:
Dim e = (From o In x.Concours Where o.numero_concours = concours.numero_concours Select o).FirstOrDefault()
x.Concours.Attach(New Concour With {.numero_concours = e.numero_concours})
((IObjectContextAdapter)x).ObjectContext.ApplyCurrentValues("Conours", e)
x.SaveChanges()
しかし、それは私に構文エラーを与えています ((IobjectContext..... 提案をお願いします!!!
Public Sub UpdateConcours(concours As Concour) Implements IConcoursRepository.UpdateConcours
Dim e = (
From o In x.Concours
Where o.numero_concours = concours.numero_concours
Select o)
.First()
x.Entry(e)
.OriginalValues
.SetValues(concours)
x.SaveChanges()
End Sub