如何使用linq从数据库中删除记录?
问题描述:
我试图用LINQ从数据库中删除一条记录。我给系统的行键删除,它确实返回一行。如何使用linq从数据库中删除记录?
这里是我的代码:
Public Function DeleteHydrantByKey(ByVal objDeptGUID As String, ByVal objLogonToken As String, ByVal objSesionToken As String, ByVal objHydrantKey As Integer) As String
'Check if Token is good
If CheckToken(objSesionToken, objDeptGUID) = False Then
Return "Session Error"
End If
'Check if login Token is good
If CheckLoginToken(objDeptGUID, objLogonToken) = False Then
Return "Logon Session Error"
End If
Try
Dim lbHydrants As New linqAlarmDumpDataContext
'Check for Hydrans in system
Dim GetHydrants = From r In lbHydrants.tbHydrants _
Where r.key = objHydrantKey
Select r
'Check For Hydrent Data
If GetHydrants.Count = 0 Then
Return "Not Found"
End If
'Deletes Hydrent Data After Check was ok
lbHydrants.tbHydrants.DeleteOnSubmit(GetHydrants)
lbHydrants.SubmitChanges()
Return "OK"
Catch ex As Exception
Return "Error"
End Try
End Function
答
Public Function DeleteHydrantByKey(ByVal objDeptGUID As String, ByVal objLogonToken As String, ByVal objSesionToken As String, ByVal objHydrantKey As Integer) As String
'Check if Token is good
If CheckToken(objSesionToken, objDeptGUID) = False Then
Return "Session Error"
End If
'Check if login Token is good
If CheckLoginToken(objDeptGUID, objLogonToken) = False Then
Return "Logon Session Error"
End If
Try
Dim lqHydrants As New linqAlarmDumpDataContext
'Check for Hydrans in system
Dim GetHydrants = From r In lqHydrants.tbHydrants _
Where r.key = objHydrantKey
Select r
'Check For Hydrent Data
If GetHydrants.Count = 0 Then
Return "Not Found"
End If
'Deletes Hydrent Data After Check was ok
lqHydrants.tbHydrants.DeleteAllOnSubmit(GetHydrants)
lqHydrants.SubmitChanges()
Return "OK"
Catch ex As Exception
Return "Error"
End Try
End Function