Лучшая стратегия для добавления или обновления коллекции связанных объектов при использовании EF4? - PullRequest
0 голосов
/ 08 июля 2010

Допустим, у вас есть объект Classroom с коллекцией объектов Student.Что я обычно делаю, когда создаю нового ученика, и мне нужно добавить его в классную комнату - это использовать Classroom.Students.Add (newStudent), теперь, когда я хочу обновить эту коллекцию, я обычно очищаю () коллекцию и снова добавляю студентов, что-тонапример:

theClassroom.Students.Clear();

foreach(Student student in updatedStudentsCollection) {
    theClassroom.Students.Add(student);
}

Очистка коллекции и повторное добавление сущностей выглядит несколько странно, поэтому я думаю, что должна быть лучшая стратегия для этого сценария.Пожалуйста, поделитесь, как вы обычно справляетесь с этим.

1 Ответ

1 голос
/ 12 июля 2010

Вы можете выполнить итерацию по своей коллекции учеников в базе данных и удалить всех учеников, которые не включены в коллекцию updatedStudentsCollection, и добавить всех учеников, которые находятся в обновленной коллекции, но отсутствуют в коллекции баз данных.Но если это действительно менее странно ..; -)

theClassroom.Students.Remove(x => !updatedStudentsCollection.Contains(x));
foreach (var student in updatedStudentsCollection)
    if (!theClassroom.Students.Contains(student))
        theClassroom.Students.Add(student);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...