MvcMusicStore序列中没有任何元素

问题描述:

我正在通过Mvc音乐商店教程开展工作,并在此LINQ查询中停留,因为它一直告诉我该序列没有元素。我的模型与教程中的模型相匹配,并且已经将数据插入到模型中。我修改了它,而不是它设计的专辑。MvcMusicStore序列中没有任何元素

var genreModel = storeDB.DesignTypes.Include("Designs") 
      .Single(g => g.Name == designType); -> no elements in sequence 

var viewModel = new StoreBrowseViewModel() { 
    Genre = genreModel, 
    Albums = genreModel.Designs.ToList() 
}; 

return View(viewModel); 

使用FirstOrDefault,而不是单:

var genreModel = storeDB.DesignTypes.Include("Designs") 
      .FirstOrDefault(g => g.Name == designType); 

从MSDN:

Enumerable.Single方法 返回 序列的唯一元素,将引发 有异常并不是 中的一个元素。

您有多个匹配项目或没有项目。

+1

这样可以防止发生异常,但它仍然不能解释为什么即使OP宣称数据存储在数据库中,也不会返回数据。 – Tom 2010-12-03 16:38:29