Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 实体框架不更新数据存储?_Vb.net_Entity Framework - Fatal编程技术网

Vb.net 实体框架不更新数据存储?

Vb.net 实体框架不更新数据存储?,vb.net,entity-framework,Vb.net,Entity Framework,将EF与SQL数据存储一起使用时,数据存储未使用正确的数据进行更新。下面是关于如何创建包装器对象和应该更新的相关函数的代码部分。我认为我的问题与实体上下文的生命周期有关?但是,在保存对象之前将其重新附加到上下文不应该解决任何问题吗 Public Sub New(ByVal UserID As Integer) Using Context As New RiseDB.RiseDBContainer MyUser = Context.Users.Find(UserID)

将EF与SQL数据存储一起使用时,数据存储未使用正确的数据进行更新。下面是关于如何创建包装器对象和应该更新的相关函数的代码部分。我认为我的问题与实体上下文的生命周期有关?但是,在保存对象之前将其重新附加到上下文不应该解决任何问题吗

Public Sub New(ByVal UserID As Integer)
    Using Context As New RiseDB.RiseDBContainer
        MyUser = Context.Users.Find(UserID)
    End Using
End Sub

Public Function Save() As Boolean
    Using Context As New RiseDB.RiseDBContainer
        Context.Users.Attach(MyUser)
        Context.SaveChanges()
    End Using
    Return True
End Function

Protected Overrides Sub Finalize()
    If Not IsNothing(Context) Then
        Context.SaveChanges()
        Context.Dispose()
        Context = Nothing
    End If
    MyBase.Finalize()
End Sub
应设置属性的函数:

Public Shared Function PasswordChanged(ByVal UserID As Integer) As Boolean
    Dim tmp As New User(UserID)
    tmp.IsPasswordReset = False
    tmp.Save()
    Return True

End Function

执行Save函数时会出现哪些错误?您使用的是什么版本的EF?哪个版本的.NET?Ans Visual Studio?未给出任何错误。EF:6.1比2012.4.5。如果我尝试重新附加对象并保存更改,数据存储将不会更新为新值。由于编辑保存操作是短暂的,所以我想到的最好的解决方法是打开一个上下文,在保存之前不要分离或重新附着对象。