2011-08-11 6 views
5

Estoy creando una colección de elementos de lista de selección de mi userGroupsRepository. Sé que hay dos registros.Índice estaba fuera de rango cuando la expresión se convirtió a la expresión de linq

¿Hay algo que estoy haciendo mal?

Al principio he escrito siguiente código como pensé que esto es una manera más rápida de conseguir mi colección selecta lista de elementos, donde tengo "this._userGroupRepository.All" como IQueryable

mi colección es:

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

esta implementación sin embargo los resultados con el índice

estaba fuera de su alcance. Debe ser no negativo y menor que el tamaño de de la colección. Nombre de parámetro: índice de

y aquí tengo mi implantación de la recogida con la reescritura como 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()}); 
      } 

Respuesta

1

¿Ayuda para hacer una Enumerable de su consultables?

this._userGroupRepository.All.AsEnumerable().Select(
Cuestiones relacionadas