繁体   English   中英

无法使ApplyCurrentValues(Entity)工作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM