2012-05-23 14 views
5

मैं जेनरेट कोड में गुणों के लिए उपनाम उत्पन्न करना चाहता हूं। मैं अब तक इतना कर सकता था:किसी संपत्ति के लिए उपनाम को परिभाषित करने के लिए

partial class Purchase 
{ 
    public User Customer 
    { 
     get 
     { 
      return this.User; 
     } 

     set 
     { 
      this.User = value; 
     } 
    } 
} 

मुझे आश्चर्य है कि सी # में उपनाम को परिभाषित करने का कोई अन्य तरीका है या नहीं। Purchase वर्ग लिंक-टू-एसक्यूएल

+0

क्या लिंकक 2 एसक्यूएल आपको मैप किए गए नामों को बदलने नहीं देगा? –

+0

@ हेनकहोल्टरमैन यदि मैं ऐसा करता हूं तो मुझे हर बार जब मैं डीबीएमएल फ़ाइल को पुन: उत्पन्न करता हूं तो प्रक्रिया को दोहराना होगा। –

+0

ठीक है, अगर यह एक मुद्दा है। लेकिन आपका पोस्ट कोड _is_ एक उपनाम बना रहा है। तो वास्तविक सवाल क्या है? क्या इसमें कुछ गड़बड़ है? –

उत्तर

2

द्वारा उत्पन्न किया गया था, नहीं, सी # में करना संभव नहीं है। संपत्ति का नाम एकल पहचानकर्ता है जिसे आप इसके लिए परिभाषित कर सकते हैं। यदि यह आपके लिए है या नहीं क्या खोज रहे है

जानते हैं नहीं:

लेकिन आप परिभाषित कर सकते हैं (जैसे) एक Dictionary<string,object> जहां Key एक प्रॉपर्टी है और value संपत्ति का एक मूल्य है। इस तरह आप रनटाइम पर बदलते हुए संपत्ति नामों और मूल्यों के साथ गतिशील संपत्ति नकद परिभाषित कर सकते हैं।

या एक ExpandoObject उपयोग कर सकते हैं, यदि आप C# 4.0

+5

पोस्ट कोड में ग्राहक _is_ उपयोगकर्ता के लिए उपनाम। ओपी इसे करने के अन्य तरीकों के लिए पूछता है। –

1

का उपयोग मामला है कि आप संपत्ति का एक अलग नाम चाहते newtonSoft का उपयोग कर JSON को जानकारी भेजने के लिए, आप उपयोग कर सकते हैं

[JsonProperty("alias_name")] 
public type YourProperty {get;set;} 

यह मदद कर सकते हैं यदि आप नहीं चाहते हैं कि आपका ऑब्जेक्ट सी # सम्मेलन का पालन करें और जेएसओएन ऑब्जेक्ट से प्राप्त किया जाए या