डेटाबेस में, मेरे पास संपर्क नामक एक टेबल है। पहला नाम और अन्य ऐसे स्ट्रिंग फ़ील्ड को चार डेटाटाइप (मेरा डेटाबेस डिज़ाइन नहीं) का उपयोग करने के लिए डिज़ाइन किया गया है। मेरी वस्तु गुणों में एक स्ट्रिंग प्रकार के लिए नक्शे से संपर्क करें। अगर मैं आईडी द्वारा एक संपर्क ऑब्जेक्ट पुन: प्राप्त करने के लिए एक साधारण परीक्षण करना चाहता था, मैं कुछ इस तरह करना होगा:लिंक से एसक्यूएल का उपयोग कर मूल्यों को कैसे ट्रिम करें?
Contact contact = db.Contacts.Single(c => c.Id == myId);
Contact test = new Contact();
test.FirstName = "Martin";
Assert.AreEqual(test.FirstName, contact.FirstName);
contact.FirstName मूल्य चार प्रकार की वजह से है "मार्टिन"। लोड होने पर फर्स्टनाम संपत्ति को मैं कहां से रोक सकता हूं? ऑन फर्स्टनाम चेंजिंग (स्ट्रिंग वैल्यू) प्रारंभिक लोड (संपर्क) पर नहीं बुलाया जाता है, लेकिन परीक्षण ऑब्जेक्ट पर करता है।
यह काम करता है। प्रत्येक क्षेत्र के लिए यह काफी आसान है क्योंकि मैं प्रदर्शन के लिए कई फ़ील्ड नहीं दिखा रहा हूं। धन्यवाद। – Marsharks
यह एक संपत्ति परिवर्तित घटना उत्पन्न करने जा रहा है - जो अन्य कार्यों को ट्रिगर कर सकता है - और परिणामस्वरूप डेटाबेस में अनावश्यक अपडेट हो सकते हैं क्योंकि आप सामग्री में कोई अर्थपूर्ण परिवर्तन किए बिना संपत्ति के मूल्य को बदल रहे हैं। – tvanfosson
प्रश्न का बिंदु इस तरह के तर्क करने के लिए जगह ढूंढना था (इस मामले में ऑनलोडेड()); विधि स्वयं ही आसानी से "_FirstName = _FirstName.Trim();" प्रोपरी से बचने के लिए घटना फायरिंग बदल दी। –