Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net MvcMusicStore序列中没有元素_Asp.net_Asp.net Mvc_Linq - Fatal编程技术网

Asp.net MvcMusicStore序列中没有元素

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

我正在学习Mvc音乐商店教程,我被这个LINQ查询卡住了,因为它一直告诉我序列没有元素。我的模型与教程中的模型匹配,并且我已将数据插入其中。我修改了它,所以它不是相册,而是设计

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有多个匹配条件的项,所以我建议先用,而不是单用。