Database LINQ检索语句没有';t返回最新更新的结果
我有一张名为Organization的表和一张名为Staff的表 在Staff表中,我有两个字段Database LINQ检索语句没有';t返回最新更新的结果,database,vb.net,azure,linq-to-sql,Database,Vb.net,Azure,Linq To Sql,我有一张名为Organization的表和一张名为Staff的表 在Staff表中,我有两个字段 StaffStatus,指示他/她是否可用于组织和 ParentStatus以指示用户的组织是否仍然可用(由于几个原因,我没有链接它们) 如果员工的家长状态为“可用”,我允许所有者恢复员工(将员工状态更新为“可用”) 我的系统出现了一种奇怪的情况。我首先删除员工(将StaffStatus更新为“不可用”),然后删除组织(将staff.ParentStatus更新为“不可用”)。在此情况下,不允许
- StaffStatus,指示他/她是否可用于组织和
- ParentStatus以指示用户的组织是否仍然可用(由于几个原因,我没有链接它们)李>
Friend Sub removeUser(strInput As String)
Try
objUser = (From userDB In db.Staffs Where userDB.UserID = strInput).FirstOrDefault()
objUser.UserStatus = "Unavailable"
db.SubmitChanges(ConflictMode.ContinueOnConflict)
Catch ex As Exception
For Each occ As ObjectChangeConflict In db.ChangeConflicts
occ.Resolve(RefreshMode.KeepChanges)
Next
db.SubmitChanges()
End Try
End Sub
我用于删除组织的代码:
Friend Sub removeOrganization(strInput As String)
Try
objOrganization = (From organizationDB In db.Organizations
Where organizationDB.OrganizationID = strInput).FirstOrDefault()
objOrganization.OrganizationStatus = "Unavailable"
Dim objCompany = From companyDB In db.Companies
Where companyDB.OrganizationID = strInput
For Each mem In objCompany
mem.ParentStatus = "Unavailable"
Dim objDepartment = From DepartmentDB In db.Departments
Where DepartmentDB.CompanyID = mem.CompanyID
For Each record In objDepartment
record.ParentStatus = "Unavailable"
Next
Next
Dim objUser = From UserDB In db.Staffs
Where UserDB.OrganizationID = strInput
For Each mem In objUser
mem.ParentStatus = "Unavailable"
Next
db.SubmitChanges(ConflictMode.ContinueOnConflict)
Catch ex As Exception
For Each occ As ObjectChangeConflict In db.ChangeConflicts
occ.Resolve(RefreshMode.KeepChanges)
Next
db.SubmitChanges()
End Try
End Sub
我如何调用recoverUser(我使用MsgBox()测试我检索到的ParentStatus):
我用于检索用户的查询:
Friend Function getUserByID(strInput As String) As Staff
getUserByID = (From userDB In db.Staffs
Where userDB.UserID = strInput).FirstOrDefault()
End Function
我可以验证数据库中的ParentStatus字段是否已更改
如果我没有删除该用户,而只是直接删除该组织,那么它将变得正常(不允许恢复该用户)。如果我先删除用户,然后删除组织,当我单击恢复用户时,parentStatus为“可用”
这是一种奇怪的情况。我正在使用LINQ、vb.net和Microsoft Azure数据库。因此我找到了用当前值刷新数据库的解决方案
Friend Function getUserByID(strInput As String) As Staff
objUser = (From userDB In db.Staffs
Where userDB.UserID = strInput).FirstOrDefault()
db.Refresh(RefreshMode.OverwriteCurrentValues, objUser)
getUserByID = objUser
End Function
因此,我找到了用当前值刷新数据库的解决方案
Friend Function getUserByID(strInput As String) As Staff
objUser = (From userDB In db.Staffs
Where userDB.UserID = strInput).FirstOrDefault()
db.Refresh(RefreshMode.OverwriteCurrentValues, objUser)
getUserByID = objUser
End Function