c# - assign data from LINQ to ArrayList -
प्रकार '& lt की वस्तु कास्ट करने में असमर्थ; & gt; f__AnonymousType0`7 [System.Int32, System.String, System.String , System.String, System.String, System.String, System.Int32] 'टाइप करने के लिए' myWebApplication.tblmyWebsite
मैं सी # करने के लिए बहुत नौसिखिया यहाँ किसी को भी मुझे बता सकते हैं इस कोड में समस्या क्या कृपया ?
AnonymousType0 जब मुझे LINQ से SQL पर अभिलेख प्राप्त करने की आवश्यकता होती है और इसे ArrayList का उपयोग करके ब्राउज़र में दिखाया जाता है
कोड देखें
सिस्टम का उपयोग कर; System.Collections का उपयोग कर; // तो आप ArrayList का उपयोग कर सकते हैं System.Text का उपयोग कर; // तो आप StringBuilder का उपयोग कर सकते हैं System.Collections.Generic का उपयोग कर; System.Linq का उपयोग कर; System.Web का उपयोग कर; System.Web.UI का उपयोग कर; System.Web.UI.WebControls का उपयोग कर; नेमस्पेस myWebApplication {सार्वजनिक आंशिक वर्ग WebForm2: System.Web.UI.Page {सुरक्षित शून्य पेज_लोड (वस्तु प्रेषक, EventArgs ई) {showProducts (); } निजी शून्य शो प्रोडक्ट्स () {dbDataContext db = new dbDataContext (); Var उत्पादों = db.tblmyWebsites पी में से चुनें पी; GridView1.DataSource = उत्पादों; GridView1.DataBind (); // LINQ क्वेरी को अर्रे लिस्ट अररे लिस्ट myArrList = new ArrayList () में कनवर्ट करने का तरीका; myArrList.AddRange ((पी से db.tblmyWebsites में नए का चयन करें {पीआईडी, पी। प्रोडक्ट्नम, पी.टी.बी.प्रोग्रामिंग भाषा। प्रोग्रामिंग भाषा, पी.टी.एल.पीप्लिकेशन टाइप। एप्लिकेशंस टाइप, पी.आईमेज, पीआरव्यूव, पी.प्रिसे}) टूलिस्ट )); // StringBuilder अक्षरों के एक अस्थायी स्ट्रिंग का प्रतिनिधित्व करता है स्ट्रिंगबिल्डर एसबी = नया स्ट्रिंगबिल्डर (); foreach (myArrList में tblmyWebsite MyProduct) {sb.Append (String.Format (@ "से & lt; तालिका class = 'coffeeTable' & gt; & lt; टीआर & gt; & lt; वें & gt; क्रमांक: & lt; / वें & gt; & lt; टीडी & gt; {1} & lt; / td & gt; & lt; / tr & gt; & lt; tr & gt; & lt; th & gt; उत्पादनाम: & lt; / th & gt; & lt; टीडी & gt; {2} & lt; / td & gt; & lt; / tr & gt; & lt; tr & gt; & lt; th & gt; प्रोग्रामिंग लैंग्वेज: & lt; / th> gt; {3} & lt; / td & gt; & lt; / tr & gt; & lt; tr & gt; ; & lt; / टीआर & gt; & lt; टीआर & gt; & lt; वें & gt; छवि: & lt; / वें & gt; & lt; टीडी & gt; {5} & lt; / टीडी & gt; & lt; / टीआर & gt; & lt; टीआर & gt; & lt; वें & gt; समीक्षा: & lt; / वें & gt; & lt; टीडी & gt; {6} & lt; / टीडी & gt; & lt; / टीआर & gt; & lt; टीआर & gt; & lt; वें & gt; कीमत: & lt; / वें & gt; & lt; टीडी & gt; {7} & lt; / टीडी & gt; & lt; / टीआर & gt; & lt; / तालिका & gt; ", myProduct.Id, myProduct.productName, myProduct.programmingLanguage, myProduct.type, myProduct.image, myProduct.review, myProduct.price) .ToString ()); आप अपने सरणी सूची को अज्ञात प्रकारों के साथ लोकप्रिय बना रहे हैं:
myArrList.AddRange ((पी से db.tblmyWebsites में से चुनें नया {p.Id, p.productName, p.tblprogrammingLanguage.programmingLanguage, p.tblapplicationType.applicationType, p.image, p.review, p.price}) ToList ())। लेकिन फिर आप कोशिश करते हैं और ऐसा करते हैं:
foreach (myblick में tblmyWebsite myProduct) आपकी सरणी सूची इसमें tblmyWebsite ऑब्जेक्ट्स नहीं है, इसमें अनाम प्रकार हैं यहां तक कि अगर उनके समान नाम के समान फ़ील्ड हैं, तो ये उन्हें आपके लिए स्वचालित रूप से परिवर्तित नहीं करेगा मेरी धारणा यह है कि आप tblmyWebsite है जो आप अपने डेटाबेस से प्राप्त करते हैं (दूसरे शब्दों में, db.tblmyWebsites tblmyWebsite वस्तुओं का एक संग्रह है)। तो आप बस क्या कर सकते हैं: myArrList.AddRange (db.tblmyWebsites); // आपकी सरणी सूची अब // tblmyWebsite ऑब्जेक्ट्स के साथ पॉपुलेटेड है select का उपयोग करने की कोई ज़रूरत नहीं है, जब तक आपको वास्तव में कुछ बदलने या रीमैक करने की ज़रूरत नहीं है ArrayList , सामान्य सूची & lt; T & gt; का उपयोग करने में कोई वास्तविक बिंदु भी नहीं है, उपयोग करने के लिए बहुत आसान है आप वास्तव में, बस कर सकते हैं: foreach (var myProduct में db.tblmyWebsites)
Comments
Post a Comment