2010-05-04 10 views
6

मैं सोच रहा था कि डेटा सत्यापन के संदर्भ में इकाई फ्रेमवर्क के लिए सामान्य सिफारिश क्या है। मैं ईएफ के लिए अपेक्षाकृत नया हूं, लेकिन ऐसा लगता है कि डेटा सत्यापन के दो मुख्य दृष्टिकोण हैं।सर्वोत्तम व्यवहार - डेटा फ्रेमेशन एंटिटी फ्रेमवर्क में ऑनचैंगिंग 4

पहला मॉडल के लिए आंशिक वर्ग बनाना है, और उसके बाद डेटा सत्यापन करना और नियम उल्लंघन का संग्रह अपडेट करना है। यह http://msdn.microsoft.com/en-us/library/cc716747.aspx

पर उल्लिखित है, दूसरा डेटा एनोटेशन का उपयोग करना है और फिर एनोटेशन डेटा सत्यापन निष्पादित करना है। स्कॉट गुथरी ने अपने ब्लॉग पर http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx पर बताया।

मैं सोच रहा था कि दूसरे के लाभ क्या हैं। ऐसा लगता है कि डेटा एनोटेशन पसंदीदा तंत्र होगा, खासकर जब आप आरआईए सेवाओं में जाते हैं, लेकिन मैं यह सुनिश्चित करना चाहता हूं कि मुझे कुछ याद नहीं आ रहा है। बेशक, उनमें से दोनों का एक साथ उपयोग करने से कुछ भी नहीं रोकता है।

धन्यवाद

जॉन

उत्तर

1

मैं MVC 2 का उपयोग DataAnnotations उपयोग किया गया है और यह बहुत अच्छा काम करता है। मैंने सत्यापन के लिए किसी इकाई ऑब्जेक्ट पर आंशिक कोशिश नहीं की है, लेकिन मैं इसका उपयोग देखता हूं। असल में यदि मैं किसी इकाई ऑब्जेक्ट पर आंशिक वर्ग बनाता हूं तो मैं इसे डिफ़ॉल्ट डेटा जैसे कि GUID पहचानकर्ता के रूप में उपयोग करता हूं। या तिथि या संशोधित दिनांक बनाएँ। मुझे लगता है कि आंशिक वर्ग में मान्यताओं को जोड़ने के लिए उपयोगी होगा, शायद कुछ जटिल सत्यापन के लिए जो इकाई परत में होने की आवश्यकता है, फिर भी उन मान्यताओं को कस्टम सत्यापनकर्ता में पूरा किया जा सकता है। यदि आप एक एमवीसी वेबसाइट का उपयोग कर रहे हैं तो मैं व्यक्तिगत रूप से डेटान्नोटेशन का उपयोग करूंगा।

+0

ब्रैड विल्सन द्वारा उठाए गए मुद्दे के बारे में आप क्या सोचते हैं? मुझे लगता है कि मैं डेटा एनोटेशन के साथ संघर्ष कर रहा हूं क्योंकि वे बहुत अधिक जादू की तरह लग रहे हैं :) http://bradwilson.typepad.com/blog/2010/01/input-validation-vs-model-validation-in-aspnet- mvc.html –

+0

सबसे पहले मुझे इस आलेख को इंगित करने के लिए धन्यवाद दें। यह बहुत बढ़िया था। यह एक सूचनात्मक लेख है कि एमवीसी 1.0 में मॉडल प्रमाणीकरण में इनपुट सत्यापन से डिज़ाइन कैसे बदलता है और क्यों बदलता है। उनके अंक सभी मान्य हैं और आपके डिजाइन चरण के दौरान विचार किया जाना चाहिए। अंत में डेटा एनोटेशन जादू नहीं होते हैं, वे केवल आपके द्वारा लागू संपत्ति गुण होते हैं जो आपके मॉडल से जुड़ने पर सत्यापन कोड को चलाने के लिए मजबूर करते हैं। –

+0

यह लिंक बताता है कि मैं क्या करने की उम्मीद कर रहा था .... http://daniel.wertheim.se/2009/11/18/entity-framework-4-part-5- वैलिडेशन-using- डेटाटाटेशन/ एक सेवा परत के साथ डेटा एनोटेशन को एकीकृत करें। मुझे कुछ समस्याएं थीं क्योंकि मैं Azure के लिए विकास कर रहा हूं और 3.5 ढांचा Validator.TryValidateObject का समर्थन नहीं करता है। DOH! धन्यवाद –

संबंधित मुद्दे