2010-12-03 8 views
0

私はMvc Music Storeチュートリアルで作業していますが、シーケンスに要素がないことを教えてくれるので、この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); 

答えて

0

使用FirstOrDefault代わりにシングル:MSDNから

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

Enumerable.Single方法 シーケンスの唯一の要素を返し、そして 場合が例外をスローしますシーケンスは の要素の1つではありません。

あなたは複数の一致項目または項目を持っていません。

+1

これは例外を防ぎますが、OPがデータベースにデータを格納していると主張してもデータが返されない理由はまだ説明しません。 – Tom

+0

@Tom、OPは 'Single'を使用していました。私はFirstOrDefaultを使用しました。私はOPに条件を満たす複数の項目があると思いますので、Singleの代わりにFirstを使用することをお勧めします。 –

関連する問題