2010-01-09 16 views
6

मैं अभी भी एक जटिल एएसपी.नेट एमवीसी वेब अनुप्रयोग के लिए सही वास्तुकला का पता लगाने की कोशिश कर रहा हूं।लिंक से एसक्यूएल या इकाई फ्रेमवर्क?

मैंने बहुत सारे उदाहरण कोड में देखा और हर जगह यह अलग-अलग किया गया।

मैं इस पर आपके विचारों की वास्तव में सराहना करता हूं।

एक और प्रश्न: क्या आप लिंक से एसक्यूएल या इकाई फ्रेमवर्क का उपयोग करेंगे?

धन्यवाद,

बेन

उत्तर

3

चेक इस Architecture Guide: ASP.NET MVC + N-tier + Entity Framework and Many More

आप ASP.NET MVC उपयोग करना चाहते हैं, लेकिन चीजों को आत्मविश्वास से अपने अगले व्यापार परियोजना के लिए उपयोग करने के लिए व्यवस्था कर पाने के लिए strugling जाता है। यह आलेख सिर्फ आपके लिए है। आलेख आपको एक छोटे दस्तावेज़ प्रबंधन प्रणाली को आर्किटेक्ट करने के लिए एएसपी.नेट एमवीसी का उपयोग करने के लिए मार्गदर्शन करता है।

0

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

2

चूंकि आप एक एमवीसी अनुप्रयोग के लिए जा रहे हैं, तो आप आसानी से नियंत्रक परत के नीचे एक डेटाएप परत लिख सकते हैं। इससे इसे स्तरित एप्लिकेशन बना देगा। तो यह आपके वास्तुकला की आवश्यकता के लिए उचित विकल्प हो सकता है।

LinQ-SQL या Entity Framework प्रश्न के लिए, मैंने केवल इकाई फ्रेमवर्क का उपयोग किया है। तो लिंक से एसक्यूएल विकल्प के बारे में निश्चित नहीं है। लेकिन जब स्कीमा बदलता है तो एंटीटी फ्रेमवर्क के साथ कुछ समस्याएं होती हैं। जेनरेट किए गए edmx का अद्यतन ठीक से नहीं होता है जब कॉलम का नाम बदल दिया जाता है। तो मैं जो करता हूं वह सब स्कीमा परिवर्तन के बाद एडीएमएक्स को हटाता है और बनाता है और आपको वहां परिवर्तनों को मैन्युअल रूप से अपडेट करना होगा।

4

कुछ व्यक्तिगत विचार और प्रयोग:
- ओएमएम के रूप में निबर्ननेट का उपयोग करें, या ईएफ v4 के लिए प्रतीक्षा करें। Tekpub.com में एनएच का उपयोग करने पर अच्छा ट्यूटोरियल है। एल 2 एस और ईएफ ब्लैक बॉक्स की तरह हैं: वे बहुत सी चीजें कर रहे हैं, उनके पास अच्छा दस्तावेज है, लेकिन उनके पास विस्तारशीलता बिंदु नहीं है। यदि आप कुछ नई कार्यक्षमता या व्यवहार को बदलना चाहते हैं, तो आप केवल एनएच के साथ ऐसा कर सकते हैं। वी 4 में ईएफ राज्य में होगा जहां एनएच 2 या 3 साल पहले था।
- जैसा कि आप पा सकते हैं एमवीसी ऐप्स के अधिक उदाहरण ब्राउज़ करें। उनमें से बहुत से आप कोडेप्लेक्स पर पा सकते हैं। उदाहरण के लिए: CodeCampServer, WhoCanHelpMe, Storeddd
- यदि आप कुछ बुनियादी ढांचे की समस्याओं को हल करने के लिए ढांचे (या सहायक) के निर्माण के बारे में सोच रहे हैं, तो पहले इसके लिए Google; यह उच्च संभावना है कि आपके अलावा कोई और स्मार्ट (अच्छी तरह से, मेरे मामले में मुझसे ज्यादा चालाक) पहले से ही एक ही समस्या थी, और ढांचे के रूप में कोड का अच्छा टुकड़ा लिखा (ऑब्जेक्ट मैपर, सत्यापन, संदेश, ...), या बस इसके बारे में ब्लॉग किया।
- तेज आर्किटेक्चर या fubuMvc का उपयोग करके बुनियादी ढांचे के काम को हल करता है, लेकिन बाकी ऐप आपके व्यापार मॉडल पर निर्भर करता है।
- टीडीडी आपको अच्छे और रखरखाव कोड लिखने के लिए मजबूर करेगा। जितना हो सके चार डिजाइन पैटर्न और सोलिड सिद्धांतों के गिरोह का उपयोग करने का प्रयास करें।

1

क्या आप लिंक से एसक्यूएल या इकाई फ्रेमवर्क का उपयोग करेंगे?

लिंक 2 एसक्यूएल बहुत अच्छा है यदि आप किसी ऑब्जेक्ट मॉडल को एक्सेस करना चाहते हैं जो सीधे आपके डेटाबेस पर मैप करता है। उदाहरण के लिए, यदि आपके पास "ऑर्डर" तालिका है, तो Linq2SQL एक "ऑर्डर" ऑब्जेक्ट बनाएगा जिसका उपयोग आप डेटा तक पहुंचने के लिए कर सकते हैं। यह अक्सर पूरी तरह से पर्याप्त है।

इकाई फ्रेमवर्क उपयोगी होता है जब आप एक ऑब्जेक्ट मॉडल बनाना चाहते हैं जो सीधे डेटाबेस पर मैप न हो।

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