C# Can';无法使ApplyCurrentValues(实体)正常工作

C# Can';无法使ApplyCurrentValues(实体)正常工作,c#,asp.net,vb.net,entity-framework,C#,Asp.net,Vb.net,Entity Framework,我正在处理我的应用程序的更新部分,我想使用ApplyCurrentValues,但它似乎不起作用(未知) Dim e=(从x.Concours中的o开始,其中o.numero\u Concours=Concours.numero\u Concours选择o) x、 ApplyCurrentValue(例如EntityKey.EntitySetName、concours) x、 savechanges() 为了使其正常工作,我将代码更改为: x.Concours.Attach(New Conco

我正在处理我的应用程序的更新部分,我想使用ApplyCurrentValues,但它似乎不起作用(未知)

Dim e=(从x.Concours中的o开始,其中o.numero\u Concours=Concours.numero\u Concours选择o)
x、 ApplyCurrentValue(例如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()
但它给了我这个错误

无法调用成员的CurrentValue​​' 对于实体类型“Concour”,因为上下文中不存在该实体。要向上下文添加实体,请调用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….)上给了我一个语法错误。。。。。 任何建议请


试试这个:

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()

我已经尝试过了,但我的数据库没有任何变化我看不出问题出在哪里:(对象
concours
包含什么?它与e不同吗?它被定义为concours我已将更新函数设置为具有明确的概念代码应该可以工作。您能否确认
e
concours
之间的任何属性值实际上不同?还可以尝试添加对
dectechanges()的调用)
如上面修订的代码所示。
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()