Обновление одного объекта на основе результатов другого запроса LINQ-to-Entities - PullRequest
0 голосов
/ 09 апреля 2011

У меня следующий запрос LINQ-to-Entities:

' Get all the residency assignments that match the term/year.
        Dim assignments = From p In dbContext.Residents _
                          Where p.semester = term _
                          Where p.year = year _
                          Select p

Это даст мне все резидентские назначения на текущий год / семестр.Тогда у меня есть запрос LINQ-to-Entities:

 Dim reset_occupancy = From p In dbContext.Rooms _
                              Select p

Это даст мне все комнаты.Я хочу перебрать назначения и в зависимости от того, какая комната назначена, обновить занятость в reset_occupancy.Я не уверен на 100%, как это сделать.Вот мой псевдокод того, чего я хочу достичь:

For each row in assignments
   reset_occupancy.Where(reset_occupancy.room=assignment.occupancy).current_occupancy =+1
Next 

1 Ответ

0 голосов
/ 09 апреля 2011

Если у кого-то есть лучший ответ, я все равно хотел бы его ... но для всех, кто пытается подобный процесс, вот как я решил это:

        ' Now, retabulate current occupancy.
        For Each row In assignments
            Dim assignment As Integer = row.room
            Dim update_occupancy = (From p In dbContext.Rooms _
                                   Where p.id = assignment _
                                   Select p).FirstOrDefault

            update_occupancy.current_occupancy = update_occupancy.current_occupancy + 1
        Next
        dbContext.SaveChanges()
...