2012-12-15 16 views
5

एसक्यूएल सर्वर में मैं ऐसे दृश्य बनाते हैं जहां मैं शून्य मानों की जांच कर सकता हूं और यदि मैं चाहता हूं तो डिफ़ॉल्ट रूप से उन्हें बदलें (यानी ISNULL (PrimaryPhone, 'No Primary #') AS PrimaryPhone। I मेरे एएसपीनेट वेब फॉर्म एप्लिकेशन में बहुत सारे विचारों का इस्तेमाल किया, लेकिन अब मैं एमवीसी 4 सीख रहा हूं और सही शुरू करना चाहता हूं।लिंक एक अन्य मान के साथ शून्य/खाली मान को प्रतिस्थापित करें

मेरे पास एक मॉडल, नियंत्रक और मेरी क्लाइंट टेबल के लिए सेट अप है। 0/मुझे विश्वास है कि अगर मैं गलत हूं तो कृपया मुझे सही करें।

मैंने एक उदाहरण देखा है कि शून्य/खाली मानों को प्रतिस्थापित करने में सक्षम होना चाहिए। हैसवल का उपयोग करता है, लेकिन यह उपलब्ध नहीं है IntelliSense।

मैं अपने मॉडल में DefaultValue का उपयोग किये बिना खाली/शून्य मानों को कैसे बदलूं?

धन्यवाद

var result = db.Clients.Select(x => new 
     { 
      CustomerID = x.CustomerID, 
      UserID = x.UserID, 
      FullName = x.FullName, 
      EmailAdd = x.emailadd.DefaultIfEmpty("No Email"),.... 

उत्तर

6

आप ?? operator उपयोग कर सकते हैं एक डिफ़ॉल्ट मान सेट करने के लिए जब कुछ रिक्त है:

var result = db.Clients.Select(x => new 
     { 
      CustomerID = x.CustomerID, 
      UserID = x.UserID, 
      FullName = x.FullName, 
      EmailAdd = x.emailadd ?? "No Email", ... 

तुम दोनों बातिल और खाली के लिए जाँच और अधिक नियंत्रण की जरूरत है, उदाहरण के लिए, आप ?: operator (जिसे "सशर्त ऑपरेटर" या "टर्नरी ऑपरेटर" भी कहा जाता है) का उपयोग कर सकते हैं:

var result = db.Clients.Select(x => new 
     { 
      CustomerID = x.CustomerID, 
      UserID = x.UserID, 
      FullName = x.FullName, 
      EmailAdd = string.IsNullOrEmpty(x.emailadd) ? "No Email" : x.emailadd, ... 
+0

धन्यवाद स्कॉट, जिसने वास्तव में मेरी मदद की है। –