2011-08-11 13 views
5

Tworzę kolekcję wybranych elementów listy z mojego userGroupsRepository. Wiem, że istnieją dwa zapisy.Indeks był poza zakresem, gdy wyrażenie skonwertowane na wyrażenie linq

Czy jest coś, co robię źle?

Początkowo napisałem następujący kod jak myślałem, że jest to szybszy sposób, aby mój wybierz kolekcję elementu listy, gdzie mam „this._userGroupRepository.All” jako IQueryable

moja kolekcja jest:

jednak
List<SelectListItem> listItems = this._userGroupRepository.All.Select(
      userGroup => new SelectListItem() { 
            Text = userGroup.GroupName, 
            Value = userGroup.UserGroupId.ToString() 
      }).ToList(); 

to realizacja wynika z

Index był poza zasięgiem. Musi być nieujemny i mniejszy niż rozmiar kolekcji . Nazwa parametru: indeks

i tu mam swój realizację kolekcję o przepisanie go jako foreach

List<SelectListItem> listItems = new List<SelectListItem>(); 
      foreach (UserGroup userGroup in this._userGroupRepository.All) 
      { 
       listItems.Add(new SelectListItem(){ 
               Text = userGroup.GroupName, 
               Value = userGroup.UserGroupId.ToString()}); 
      } 

Odpowiedz

1

Czy pomaga dokonać przeliczalny swojego Queryable?

this._userGroupRepository.All.AsEnumerable().Select(
Powiązane problemy