2009-02-25 8 views
5

मैं DataTableExtensions में उपलब्ध CopyToDataTable विधि का उपयोग करके एक सूची दी गई डेटा तालिका बनाना चाहता हूं। मैं पहले प्रश्न How do I transform a List into a DataSet? पूछा और मिल गया है एक exceptional answerCMS से जो प्राप्त करने के लिए एक विस्तार public static DataTable ToDataTable<T>(this IEnumerable<T> collection)मैं System.Data.DataTableExtensions 'CopyToDataTable विधि का उपयोग कैसे करूं?

बनाने मैं उपयोग कर रहे हैं कि वह क्या सुझाव दिया ... लेकिन हाल ही में मैं seen in a blog वहाँ पहले से ही है कि मैं क्या चाहता था ऐसे एक्सटेंशन मौजूद हैं ... CopyToDataTable<T>(this IEnumerable<T> source) : DataTable जो System.Data.DataTableExtensions में मौजूद है।

नतीजतन, मुझे लगता है कि मुझे इस अंतर्निहित विस्तार विधि का उपयोग करने के बजाय स्विच करना चाहिए जो मुझे स्वयं को बनाए रखना होगा।

दुर्भाग्यवश, मुझे इसका उपयोग करने के तरीके को समझने में कुछ परेशानी हो रही है।

मैं अपना आईएलआईस्ट ले सकता हूं और myListofMyClass.CopyToDataTable() कह सकता हूं लेकिन मुझे एक संकलन त्रुटि मिलती है जो कहती है कि "टाइप 'MyClass' को 'System.Data.DataRow' में परिवर्तनीय होना चाहिए ताकि इसे पैरामीटर 'टी' के रूप में उपयोग किया जा सके। 'जेनेरिक विधि में ... "

क्या माइक्रॉस को सिस्टम में कनवर्ट करने के लिए मुझे कुछ खास करने की आवश्यकता है। डेटा.डाटारो? क्या मुझे कुछ इंटरफ़ेस लागू करने की आवश्यकता है?

उत्तर

2

यह लिंक देखें (जो DataRows का एक संग्रह है, साथ ही कबाड़ का एक समूह है CTDT "जंक" पहलू संभालती है।):

http://blogs.msdn.com/aconrad/archive/2007/09/07/science-project.aspx

मूल रूप से, यह लिंक का हिस्सा होता था, लेकिन किसी कारण से इसे हटा दिया गया था। हालांकि उनकी विधि महान काम करती है, इसलिए इसे देखें।

+0

मैं इस जवाब के साथ गया हूं क्योंकि यह जो मैंने चाहता था उससे निकटतम था। मुझे नहीं लगता कि मैं इस समाधान का उपयोग करूंगा ... लेकिन कम से कम यह मेरे प्रश्न का उत्तर देता है कि क्यों मैं इसका उपयोग नहीं कर सका क्योंकि उन्होंने सुविधा छोड़ दी थी और ब्लॉग पोस्ट बीटा दिनों में वापस था ... – mezoid

+0

क्यों क्या आप इसका इस्तेमाल नहीं करेंगे? हमने इसे काम पर हमारे ढांचे में जोड़ा (नल फिक्स के साथ आपको उस ब्लॉग पोस्ट पर टिप्पणियों में से एक में मिलेगा) और यह वास्तव में बहुत अच्छा काम करता है। – BFree

1

ओह, CopyToDataTable के लिए, TDataRow (या एक प्रकार DataRow से प्राप्त) होना चाहिए।

(अधिक जानकारी के लिए the MSDN documentation देखें।)

+0

* श्वास * मैं उम्मीद कर रहा था कि यह मामला नहीं था। मैंने एमएसडीएन दस्तावेज़ पढ़ा था लेकिन इस तथ्य पर काफी ध्यान नहीं दिया कि इसे डेटारो या डेटारो से प्राप्त कुछ होना था ... – mezoid

1

यह वास्तव में नहीं है कि आप क्या चाहते। CopyToDataTable एक DataTable में DataRows की विशेष रूप से संग्रह कॉपी करने के लिए किया जाता है;

संबंधित मुद्दे