我正在为我的应用程序更新部分,我想使用 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