2010-01-02 10 views
12

मैं ईएफ और एमवीवीएम दोनों का उपयोग करना चाहता हूं और यह देखने की कोशिश कर रहा हूं कि वे एक साथ कैसे फिट होते हैं। मुझे उदाहरणों के रास्ते में ज्यादा नहीं मिल रहा है, इसलिए आशा है कि आप कुछ प्रश्नों का उत्तर दे सकते हैं।अच्छी तरह से खेलने के लिए एंटिटी फ्रेमवर्क और एमवीवीएम कैसे प्राप्त करें?

मान लें कि मेरे पास ग्राहक नामक डेटाबेस में एक ही तालिका है। मैं ईएफ डिजाइनर चलाता हूं और डेटा मॉडल प्राप्त करता हूं।

अगला चरण डेटा मॉडल से डेटा प्राप्त करने के लिए कुछ linq चलाने के लिए है। आइए ऐसा करने के लिए कस्टमर रिपोजिटरी नामक एक नई कक्षा बनाएं।

अब मैं अनुमान लगा रहा हूं कि ग्राहक ग्राहक की सूची प्राप्त करने के लिए ग्राहकRepository.GetCustomers को कॉल करेगा।

यहां मेरा प्रश्न है - ग्राहक मॉडल में ग्राहक वस्तुओं की एक सूची है जिसे डेटा मॉडल में ईएफ द्वारा परिभाषित किया गया था। मैं सत्यापन गुण या किसी भी प्रकार के सत्यापन को कैसे जोड़ूं?

ईएफ और एमवीवीएम के बीच बस एक डिस्कनेक्ट लगता है। मुझे यकीन है कि आप में से कुछ ने पहले इसे मारा है - कोई विचार? इस तक पहुंचने के किसी भी बेहतर तरीके?

चीयर्स

स्टीव

उत्तर

4

सत्यापन, व्यापार के नियम, अपने ग्राहकों की वस्तु ViewModel कि एक नियंत्रक या अपने दृश्य के लिए प्रस्तोता के रूप में काम करेगा में रहना चाहिए की प्रस्तुति।

बनाने के लिए है कि ViewModel कैसे के संदर्भ में, आप विकल्पों में से एक जोड़ी है:

  1. वी एम की एक संपत्ति के रूप में मॉडल शामिल करें और वी एम के निर्माता में मॉडल उदाहरण गुजरती हैं। फिर आप ग्राहक के गुणों का पर्दाफाश कर सकते हैं और केवल अंतर्निहित मॉडल के संबंधित गुणों के माध्यम से उन्हें तार कर सकते हैं।
  2. मॉडल को 'पढ़ने' के लिए टी 4 टेम्पलेट्स और प्रतिबिंब (या अधिमानतः Introspection) का उपयोग करके व्यूमोडेल जेनरेट करें, और उन गुणों को जेनरेट करें जो सीधे इसे मैप करेंगे।

अब आप वी एम के लिए कस्टम सत्यापन नियमों में जोड़ सकते हैं, जैसे कि जब उचित आदेश देखें से भेजा गया है आप अपने व्यापार के नियमों प्रदर्शन कर सकते हैं, और उचित यदि आप एफई के एपीआई का उपयोग करके परिवर्तनों लागू करने के लिए मॉडल को अपडेट कर सकते डेटाबेस पर वापस ...

+2

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

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