मेरे पास एक प्रोजेक्ट है जहां कोई क्लाइंट एक्सेल फ़ाइल, सीएसवी, या टैब-डिलीमिट फ़ाइल आयात कर सकता है। यह फ़ाइल एक डेटाटेबल में लोड की गई है जिसे मैं SQLite डेटाबेस तालिका में परिवर्तित करता हूं। मैं वास्तव में दृढ़ता से टाइप की गई वस्तुओं बनाम डेटाटेबल्स के साथ काम करना पसंद करूंगा, तो क्या प्रतिबिंब का उपयोग करके दृढ़ता से टाइप की गई कक्षा में बनाए गए डेटाबेस तालिका को आसानी से परिवर्तित करने का कोई तरीका है? किकर एप्लिकेशन में आयात की गई फ़ाइल हमेशा अलग होगी, (यानि अलग-अलग कॉलम) इसलिए मैं किसी भी दृढ़ता से टाइप की गई वस्तुओं को वास्तव में हार्डकोड नहीं कर सकता, उन्हें हमेशा फ्लाई पर जेनरेट करना होगा।डेटाटेबल या डेटाबेस तालिका से कक्षा उत्पन्न करें
उत्तर
रयान ने पहले से ही सही सवाल पूछा है और मैं केवल यह भी सहमत हूं कि दृढ़ता से टाइप की गई कक्षा का एकमात्र लाभ डिज़ाइन या संकलन समय पर है, लेकिन रन-टाइम पर नहीं।
शायद आप अपनी SQLlite टेबल बनाने के बाद इस तालिका का उपयोग करने वाले किसी अन्य एप्लिकेशन में कुछ मजबूत प्रकार के वर्गों का निर्माण करना चाहते हैं।
उस मामले में आप शायद एक नज़र T4 - Text Template Transformation Toolkit में, ले सकता है कारण यह एक प्रश्न से बाहर मजबूत प्रकार कक्षाएं बनाने के लिए, ताकि आप आगे अनुप्रयोगों के लिए संकलन समय पर इन कक्षाओं में उपयोग कर सकते हैं सक्षम है।
लेकिन इससे पहले कि आप इसका उपयोग करना शुरू करें, आपको पता होना चाहिए कि टी 4 best kept Visual Studio secret एस में से एक है। ;-)
यदि आप एक संभावना थी तो आप सी # 4 की नई dynamic
सुविधाओं का उपयोग कर सकते हैं। अधिक विशेष रूप से ExpandoObject Class।
ExpandoObject
एक वस्तु जिसके सदस्य गतिशील रूप से जोड़ा और रन टाइम पर हटाया जा सकता है प्रतिनिधित्व करता है।
आपके पास DynamicObject Class भी है।
अधिक जानकारी के लिए निम्न लिंक पर एक नज़र डालें:
सिद्धांत रूप में, आप Reflection.Emit की तरह कुछ का उपयोग कर एक विधानसभा बना सकते हैं, या कोड फ़ाइलों को उत्पन्न करके और कंपाइलर को इन्हें असेंबली में बनाने के लिए भी कॉल करके।
हालांकि, मुझे यकीन नहीं है कि यह कैसे उपयोगी होगा। बशर्ते कि इन तालिकाओं की स्कीमा रन-टाइम पर निर्धारित की जाती है, इन जेनरेट किए गए वर्गों का कोई भी उपयोग इन दृढ़ता से टाइप की गई संपत्तियों का उपयोग करने में सक्षम नहीं होगा जो आपने प्रतिबिंब का उपयोग किए बिना जोड़े हैं, और उस बिंदु पर आप अनिवार्य रूप से काम कर रहे हैं प्रतिबिंब के अतिरिक्त प्रदर्शन हिट के साथ कुछ कमजोर टाइप किया गया। सी # 4.0 में गतिशील प्रकार प्रदर्शन हिट को खत्म कर सकते हैं, लेकिन आप अभी भी वास्तविक लाभ के लिए बहुत जटिलता जोड़ रहे हैं।
- 1. डेटाबेस से पढ़ें और डेटाटेबल
- 2. डेटाबेस तालिका स्कीमा
- 3. एचटीएमएल तालिका को डेटाटेबल
- 4. डेटाबेस से मॉडल कैसे उत्पन्न करें
- 5. nHibernate - डेटाबेस से कक्षाएं उत्पन्न करें?
- 6. डेटाबेस से ऑब्जेक्ट @Entities कैसे उत्पन्न करें?
- 7. डेटाबेस से तालिका नाम प्राप्त करें
- 8. डेटाटेबल: तालिका की ऊंचाई बदलें
- 9. डेटाबेस तालिका
- 10. एक SQL सर्वर डेटाबेस तालिका से दूसरे डेटाबेस में डेटाबेस तालिका अद्यतन करें?
- 11. ओरेकल डेटाबेस से प्रोग्रामेटिक रूप से डीडीएल कैसे उत्पन्न करें?
- 12. डेटाबेस तालिका
- 13. सिंगल टेबल विरासत या कक्षा तालिका विरासत?
- 14. मौजूदा स्कीमा से तालिका संबंध आरेख उत्पन्न करें (स्क्लाइट डेटाबेस के लिए)
- 15. डेटाटेबल
- 16. एसक्यूएल सर्वर: तालिका और/या डेटाबेस
- 17. डेटाबेस से डेटा पुनर्प्राप्त करते समय कास्ट या कनवर्ट करें?
- 18. एक डेटाबेस/तालिका से दूसरे डेटाबेस/तालिका में डेटा की प्रतिलिपि बनाने के लिए कैसे करें
- 19. symfony2 में मौजूदा तालिका से इकाई कैसे उत्पन्न करें?
- 20. किसी मौजूदा तालिका से सक्रियrecord स्कीमा उत्पन्न करें
- 21. स्वचालित रूप से diacritized स्वर तालिका कैसे उत्पन्न करें?
- 22. ऐप जो डेटाबेस तालिका
- 23. डेल्फी 7: कक्षा पदानुक्रम कैसे उत्पन्न करें?
- 24. डेटाबेस तालिका (SQL सर्वर)
- 25. डेटाटेबल
- 26. डेटाबेस तालिका मान
- 27. तेजी से क्या है? स्ट्रक्चर सरणी या डेटाटेबल
- 28. इकाई फ्रेमवर्क टाइमस्टैम्प डेटाबेस समस्या उत्पन्न करें
- 29. डेटाटेबल
- 30. एक SQL सर्वर डेटाबेस तालिका से दूसरे