У меня есть следующий код:
Dim dbHousing As New dcHousingDataContext
Dim pullresidents = From p In dbHousing.webResidents _
Select p.dorm_building, p.dorm_room, p.occupantnum _
Order By dorm_building, dorm_room
Dim j as integer = 1
Dim previous As String = ""
For Each row In pullresidents
If previous = "" Then
Dim wResident As New webResident
wResident.occupantnum = j
dbHousing.SubmitChanges()
j = j + 1
previous = row.dorm_building & " " & row.dorm_room
Else
If previous = row.dorm_building & " " & row.dorm_room Then
Dim wResident As New webResident
wResident.occupantnum = j
dbHousing.SubmitChanges()
j = j + 1
Else
Dim wResident As New webResident
j = 1
wResident.occupantnum = j
dbHousing.SubmitChanges()
j = j + 1
previous = row.dorm_building & " " & row.dorm_room
End If
End If
Next
Когда я запускаю его, глядя на отладчик, все выглядит нормально, но когда я проверяю таблицу базы данных, она должна вставляться в нее - значения столбца (для занимаемого объекта) не изменились - все они все еще равны нулю!
Не уверен, если это связано, но обратите внимание, что я теперь обновил j, чтобы явным образом быть целым числом. Во время отладки я заметил, что wResident.occupantnum показывался как "Integer?" - но это, кажется, не имеет никакого значения - когда я запускаю его снова, он все еще говорит: «Integer?»