我有以下代码:实体查询不更新对于每个正确
' Now retabulate the current occupancy.
For Each row In assignments
Try
Dim assignment As Integer = row.room
Dim student_id As String = row.id
Dim update_occupancy = (From p In dbContext.Beds _
Where p.occupant = 0 _
Where p.room = assignment _
Select p).FirstOrDefault
update_occupancy.occupant = student_id
Catch ex As Exception
End Try
Next
dbContext.SaveChanges()
在该段我通过当前分配迭代和当床未被占用(= O)和室内等于给当前学生,我把学生插入那个房间。
问题是update_occupancy似乎总是保持不变。例如,我可能有四张病床(ID 101,102,103,104),第一次应该将学生分配到101,将下一个学生分配到102,将下一个学生分配到103,等等。但它只是一遍又一遍地覆盖第一个。我不能在For Each中放置一个dbContext.SaveChanges(),它会中断。思考?
“我不能把一个dbContext.SaveChanges()放在For Each中,它打破了”< - 这是什么意思?你得到一个例外,哪一个? – Slauma 2011-04-09 16:07:40
我这样做,但我已经把它放在Try/Catch中,它仍然只是覆盖! – davemackey 2011-04-09 16:09:12
什么是例外?放置在Try/Catch块没有帮助,它只隐藏了错误,并没有解决它。 – Slauma 2011-04-09 16:12:25