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方法 返回 序列的唯一元素,将引发 有异常并不是 中的一个元素。
您有多个匹配项目或没有项目。
这样可以防止发生异常,但它仍然不能解释为什么即使OP宣称数据存储在数据库中,也不会返回数据。 – Tom 2010-12-03 16:38:29