Как мне обновить коллекцию объектов с помощью каркаса сущностей? - PullRequest
1 голос
/ 15 августа 2011

У меня есть две сущности: Вопрос и Multiple_Choice_Question . Объект Question имеет список объектов Multiple_Choice_Question. Чтобы редактировать эти объекты, я передаю Вопрос и список объектов Multiple_Choice_Question в ViewModel, который отображает их на моем сайте asp.net.

На [HttpPost] я получаю объект вопроса из DBContext и меняю старые свойства на новые из ViewModel. Тогда DBContext.SaveChanges (); Обновления.

Чтобы обновить список Multiple_Choice_Question, я делаю следующее:

                foreach (MCQ newmcqq in model.MCQ)
            {
                Multiple_Choice_Question item = new Multiple_Choice_Question();
                item = db.Multiple_Choice_Question.First(x => x.mcq_id == newmcqq.mcq_id);
                item.mcq_id = newmcqq.mcq_id;
                item.choice_number = newmcqq.choice_number.ToString();
                item.choice_wording = newmcqq.choice_wording;
                item.help_text = newmcqq.help_text;
            }
db.SaveChanges();

Есть ли лучшая альтернатива?

1 Ответ

0 голосов
/ 15 августа 2011

Зацикливание и обновление отдельных элементов - это единственный способ с LINQ.Это действительно не предназначено для партии INSERT или UPDATE.

Вы звоните SaveChanges() вне цикла, так что это хорошо.Тем не менее, это только масштабируется до определенной точки.Со временем у вас возникнут проблемы с производительностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...