【问题标题】:How do i update a collection of objects with the entity framework?如何使用实体框架更新对象集合?
【发布时间】:2011-08-15 12:06:18
【问题描述】:

我有两个实体:QuestionMultiple_Choice_Question。 Question 对象有一个 Multiple_Choice_Question 对象列表。为了编辑这些对象,我将 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();

有没有更好的选择?

【问题讨论】:

    标签: c# entity-framework asp.net-mvc-3


    【解决方案1】:

    循环和更新单个项目是使用 LINQ 的唯一方法。它确实不适用于批处理INSERTUPDATE

    您在循环外调用SaveChanges(),这很好。这仍然只能扩展到某个点。您最终会遇到性能问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      • 1970-01-01
      • 2011-03-06
      • 2011-10-28
      相关资源
      最近更新 更多