Asp.net MvcMusicStore序列中没有元素
我正在学习Mvc音乐商店教程,我被这个LINQ查询卡住了,因为它一直告诉我序列没有元素。我的模型与教程中的模型匹配,并且我已将数据插入其中。我修改了它,所以它不是相册,而是设计Asp.net MvcMusicStore序列中没有元素,asp.net,asp.net-mvc,linq,Asp.net,Asp.net Mvc,Linq,我正在学习Mvc音乐商店教程,我被这个LINQ查询卡住了,因为它一直告诉我序列没有元素。我的模型与教程中的模型匹配,并且我已将数据插入其中。我修改了它,所以它不是相册,而是设计 var genreModel = storeDB.DesignTypes.Include("Designs") .Single(g => g.Name == designType); -> no elements in sequence var viewModel = new Sto
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而不是Single:
var genreModel = storeDB.DesignTypes.Include("Designs")
.FirstOrDefault(g => g.Name == designType);
从msdn:
可枚举。单一方法
返回数组的唯一元素
序列,并在
在一个元素中没有一个元素
顺序
您有多个匹配项或没有匹配项。这将防止出现异常,但它仍然无法解释为什么即使OP声称数据库中存储了数据,也不会返回任何数据。@Tom,OP使用了
Single
我使用了FirstOrDefault,我只是猜测OP有多个匹配条件的项,所以我建议先用,而不是单用。