为什么这个代码会从表中删除行?

时间:2013-01-09 16:19:59

标签: asp.net entity-framework entity-framework-4 linq-to-entities

我有以下代码:

Using dbContext As pbu_housingEntities = New pbu_housingEntities
        ' First, delete all current records associated with the specified semester.
        Dim delete_old = (From p In dbContext.Residents _
                          Where p.semester = txtDestSemester.Text _
                          Where p.year = txtDestYear.Text _
                          Select p)
        dbContext.Residents.DeleteObject(delete_old)
        dbContext.SaveChanges()
End Using

但它不起作用。它抛出一个无法转换类型为'System.Data.Objects.ObjectQuery'错误的对象。有什么想法吗?

我要做的就是获取具有指定条件的行列表,然后删除返回的所有行。

1 个答案:

答案 0 :(得分:4)

delete_old中可能超过1项。

添加ToList()并迭代每个条目,并为每个枚举项调用DeleteObject方法。