2010-12-03 7 views
0

Mvc Music Store 자습서를 통해 작업 중이며 시퀀스에 요소가 없다는 것을 계속해서 알려주므로이 LINQ 쿼리에 고정되어 있습니다. 내 모델은 튜토리얼의 모델과 일치하며 데이터를 삽입했습니다. 나는 디자인 대신 앨범을 수정했다. MSDN에서MvcMusicStore 시퀀스에 요소가 없습니다.

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

:

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

Enumerable.Single 방법 가 시퀀스의 유일한 요소를 반환하고,이 경우 예외가 발생합니다 순서가 정확히 의 요소가 아닙니다.

일치 항목이 두 개 이상이거나 항목이 없습니다.

+1

이렇게하면 예외가 발생하지 않지만 OP가 데이터베이스에 데이터가 저장되어 있다고 주장하더라도 데이터가 반환되지 않는 이유는 여전히 설명하지 않습니다. – Tom

+0

@Tom, OP는 'Single'을 사용했습니다. FirstOrDefault를 사용했습니다. OP에 조건과 일치하는 항목이 하나 이상 있다고 생각합니다. 따라서 Single 대신 First를 사용하는 것이 좋습니다. –

관련 문제