編輯:由於保羅提到我只接受參數中每個可能的值。所以通過這個邏輯他們應該切換到列表。這會導致一個空引用異常,儘管我仍然試圖通過。Enumerable.Single方法適用於多個對象嗎?
我正在嘗試創建具有類別,問題和答案的調查生成器。目前,當我嘗試更新類別,問題和答案的數據時,它僅更新每個類別的第一個實例。我相信問題是因爲我正在使用.Single方法。有沒有替代這個用於列表?
以下是僅更新第一個實例的兩個示例。
public ActionResult Save(Survey survey, List<Category> category, List<Question> question, List<Answer> answer)
{
//var categoryInDb = _context.Categories.Single(m => m.CategoryId == category.CategoryId);
//categoryInDb.CategoryDescription = category.CategoryDescription;
//Updated loop.
foreach (var categorytoAdd in category)
{
foreach (var categoryInDb in _context.Categories.Where(m => m.CategoryId == categorytoAdd.CategoryId))
categoryInDb.CategoryDescription = categorytoAdd.CategoryDescription;
}
var questionInDb = _context.Questions.Single(m => m.QuestionId == question.QuestionId);
questionInDb.QuestionText = question.QuestionText;
_context.SaveChanges();
return RedirectToAction("Index", "Surveys");
}
在視圖模型
當你懷疑Single
只返回滿足您的條件的單個項目,他們被定義爲
public List<Category> Categories { get; set; }
public List<Question> Questions { get; set; }
由於'Save'方法只收到一個問題/答案,您會如何期望它更新多個項目? – Phil1970