DeleteAllOnSubmit 不删除任何内容
DeleteAllOnSubmit not deleting anything
我正在使用 DeleteAllOnSubmit
从 table 中删除行,如下所示:-
Try
Using ts As TransactionScope = New TransactionScope
Dim db As MyDataContext = New MyDataContext
db.my_tables.DeleteAllOnSubmit(From a In db.my_tables
Where a.col1 = given_col1 AndAlso
a.col2 = given_col2 AndAlso
a.col3 = given_col3)
db.SubmitChanges
End Using
Catch ex As Exception
' Log an exception if it occurs
End Try
但是当我这样做时,没有删除任何行。我已经通过在 DeleteAllOnSubmit 之前列出行来检查选择标准是否正确,因此:-
Dim rows_to_go As List(Of my_table) = (From a In db.my_tables
Where a.col1 = given_col1 AndAlso
a.col2 = given_col2 AndAlso
a.col3 = given_col3)).ToList
并在调试中检查 rows_to_go
的内容,这表明某些行已按条件选择,但是使用 SQL Server Management Studio 检查 table 显示相同之前和之后的行。没有抛出异常。
有谁知道为什么这个电话如此无效,我应该怎么做?
您必须提交事务范围:
ts.Complete();
它通过回滚完成了它的工作。
我正在使用 DeleteAllOnSubmit
从 table 中删除行,如下所示:-
Try
Using ts As TransactionScope = New TransactionScope
Dim db As MyDataContext = New MyDataContext
db.my_tables.DeleteAllOnSubmit(From a In db.my_tables
Where a.col1 = given_col1 AndAlso
a.col2 = given_col2 AndAlso
a.col3 = given_col3)
db.SubmitChanges
End Using
Catch ex As Exception
' Log an exception if it occurs
End Try
但是当我这样做时,没有删除任何行。我已经通过在 DeleteAllOnSubmit 之前列出行来检查选择标准是否正确,因此:-
Dim rows_to_go As List(Of my_table) = (From a In db.my_tables
Where a.col1 = given_col1 AndAlso
a.col2 = given_col2 AndAlso
a.col3 = given_col3)).ToList
并在调试中检查 rows_to_go
的内容,这表明某些行已按条件选择,但是使用 SQL Server Management Studio 检查 table 显示相同之前和之后的行。没有抛出异常。
有谁知道为什么这个电话如此无效,我应该怎么做?
您必须提交事务范围:
ts.Complete();
它通过回滚完成了它的工作。