अपने CLR प्रकारों का मानचित्रण करना
यह अभी भी संभव है, और कुछ मामलों में आवश्यक है, अपने सीएलआर प्रकारों के लिए एक स्पष्ट मानचित्रण स्थापित करना। ऐसा करने से निम्नलिखित लाभ मिलते हैं:
आप जानते हैं कि अब आपको अपने पैरामीटर पर DataTypeName प्रॉपर्टी निर्दिष्ट करने की आवश्यकता है। Npgsql आपके प्रदान किए गए CLR प्रकार से डेटा प्रकार का अनुमान लगाएगा।
NpgsqlDataReader.GetValue() जैसी अटाइप की गई पठन विधियाँ एक गतिशील वस्तु (नीचे देखें) के बजाय आपके CLR प्रकार को वापस कर देंगी। सामान्य तौर पर आपको टाइप किए गए NpgsqlDataReader.GetFieldValue() का उपयोग करना चाहिए, इसलिए यह महत्वपूर्ण नहीं होना चाहिए।
आप नाम मैपिंग को प्रति-प्रकार के आधार पर कस्टमाइज़ कर सकते हैं (नीचे देखें)। अपने सभी कनेक्शनों के लिए एक वैश्विक मैपिंग सेट करने के लिए, इस कोड को अपने पहले ओपन से पहले रखें:
NpgsqlConnection.GlobalTypeMapper.MapEnum<SomeEnum>("some_enum");
NpgsqlConnection.GlobalTypeMapper.MapComposite<SomeType>("some_composite");
यदि आप अपने सभी कनेक्शनों के लिए मैपिंग सेट अप नहीं करना चाहते हैं, तो आप इसे केवल एक कनेक्शन सेट कर सकते हैं:
var conn = new NpgsqlConnection(...);
conn.TypeMapper.MapEnum<SomeEnum>("some_enum");
conn.TypeMapper.MapComposite<SomeType>("some_composite");
http://www.npgsql.org/doc/types/enums_and_composites.html ए>