2013-12-18 10 views
6

कनवर्टर में किसी सूची में डेटाबेस से डेटा भेजने में कोई समस्या नहीं है। मैं सी # और एमवीसी के लिए नया हूं इसलिए कोई मदद उपयोगी होगी! कोडप्रकार 'System.Linq.IQueryable <int>' to 'int'

public static List<FilterTree> GetAllUsers() 
    { 
     FilterTreeDBContext db = new FilterTreeDBContext(); 
     var userList = new List<FilterTree>(); 
     var device = new FilterTree(); 
     //This is the line where I get the error 
     device.ID = from a in db.FilterTree select a.ID; 

     userList.Add(device); 
     return userList; 
    } 

धन्यवाद & हैप्पी छुट्टियां !! :)

+0

समस्या अधिकारी क्या है? – Max

+0

फ़िल्टरट्री आपका डीबीएसटी है। तो आपकी क्वेरी से आपको पूर्णांक की एक सूची मिल रही है। फ़िल्टरट्री में इंस्टेंस वैरिएबल आईडी का प्रकार क्या है? मुझे लगता है कि यह आपको प्राप्त होने वाली त्रुटि से स्पष्ट है। आप एक int फ़ील्ड में एक सूची (Iqueryable ) स्टोर करने का प्रयास कर रहे हैं। मुझे आशा है कि यह विश्लेषण आपको आपकी समस्या को ठीक करने में मदद करेगा। स्पष्टीकरण के लिए – AbhinavRanjan

+0

धन्यवाद @ अहिनावंजन! – Cristian

उत्तर

12
device.ID = (from a in db.FilterTree select a.ID).First(); 

LINQ क्वेरी आलसी है, और कार्यान्वित आप

BTW अन्यथा आप का रिसाव हो जाएगा, संदर्भ बंद करने के लिए भूल गया नहीं है कनेक्शन

using (var db = new FilterTreeDBContext()) 
{ 
    ... 
    return userList; 
} 
+0

धन्यवाद सर ... यह काम किया :) – Cristian

+2

@ मिहाई-क्रिस्टियन रोटारू, इस मामले के साथ, समय समाप्त हो जाने पर इसका जवाब स्वीकार करना सुनिश्चित करें। –

2

जहां तक ​​मूल्य का अनुरोध करने के बाद ही क्योंकि ढांचे को पता है कि क्वेरी में एक से अधिक ऑब्जेक्ट हो सकते हैं, इसलिए इसे इस तरह उपयोग करें:

device.ID = (from a in db.FilterTree select a.ID).FirstOrDefault(); 
संबंधित मुद्दे