![](/img/trans.png)
[英]Can't get the ApplyCurrentValues(Entity) to work in Entity Framework 5
[英]Can't get the ApplyCurrentValues(Entity) to work
我正在为我的应用程序的更新部分工作,我想使用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
尝试这个:
Dim e = (
From o In x.Concours
Where o.numero_concours = concours.numero_concours
Select o)
.First()
x.Entry(e)
.OriginalValues
.SetValues(concours)
x.ChangeTracker.DetectChanges();
x.savechanges()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.