2011-08-11 15 views
5

में परिवर्तित हो गई है, मैं अपने उपयोगकर्ता समूह समूह से चयन सूची आइटम का संग्रह बना रहा हूं। मुझे पता है कि दो रिकॉर्ड हैं।इंडेक्स रेंज से बाहर था जब अभिव्यक्ति linq अभिव्यक्ति

क्या कुछ ऐसा है जो मैं गलत कर रहा हूं?

पहले तो मैं कोड निम्नलिखित लिखा है के रूप में मैंने सोचा कि यह मेरा चयन सूची आइटम संग्रह है, जहां मेरे पास है "this._userGroupRepository.All" IQueryable के रूप में

मेरे संग्रह है पाने के लिए एक तेज़ तरीका है:

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

इस कार्यान्वयन लेकिन साथ

सूचकांक परिणाम सीमा से बाहर किया गया था। गैर-नकारात्मक और संग्रह के आकार से कम होना चाहिए। पैरामीटर नाम: सूचकांक

और यहाँ मैं 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()}); 
      } 

उत्तर

1

यह आपके Queryable के Enumerable बनाने के लिए मदद करता है?

this._userGroupRepository.All.AsEnumerable().Select(
संबंधित मुद्दे