में मॉडल बनाना मैं सिर्फ एएसपी.NET एमवीसी में LINQ से इकाइयों के साथ एक प्रोजेक्ट शुरू कर रहा हूं और मैं सोच रहा था कि क्या मॉडलों को परिभाषित करने का एक अच्छा, साफ तरीका है जो डेटाबेस में उपयुक्त तालिकाओं को बनाता है मुझे। मैं Django (एमवीसी ढांचे के संदर्भ में) से सबसे परिचित हूं और models.py
के नेट समकक्ष की तलाश में हूं, इसलिए मेरे पास सब कुछ संस्करण हो सकता है। कोई विचार? यह तब भी बेहतर होगा यदि इसमें स्कीमा माइग्रेशन, ला लाजांगो-इवोल्यूशन और इसी तरह का कुछ रूप था।एएसपी.नेट एमवीसी
उत्तर
मुझे लगता है कि आप क्या करना चाहते हैं, इस बारे में प्रश्न को चालू करना है। संस्थाओं को डेटाबेस से स्वचालित रूप से जेनरेट किया जा सकता है, इसलिए समस्या केवल आपके डेटाबेस स्कीमा को बनाए रखने के लिए .NET तंत्र का उपयोग कर रही है। चूंकि आप NHibernate का उपयोग नहीं कर रहे हैं, जो इन अन्य समाधानों की आवश्यकता है, मैं MigratorDotNet का उपयोग करने का सुझाव दूंगा। MigratorDotNet रेल माइग्रेशन पर रूबी के रूप में बिल्कुल एक ही विचार का उपयोग करता है:
- आपका डेटाबेस अपने संस्करण
- हर बार जब आप स्कीमा परिवर्तन करना चाहते हैं का ट्रैक रखता है, आप उन्नयन को संभालने के लिए एक छोटा सा वर्ग बारे में (और वैकल्पिक रूप से , ढाल)
- इन कक्षाओं में निरुपित एक निष्पादन आदेश
- डेटाबेस कभी नहीं अप-टू-डेट, बस वर्गों 'अपग्रेड विधि क्रम
में निष्पादित आप केवल regen हो जाएगा के बाद से है संकलन समय पर अपनी इकाइयों को मिटाते हुए, मैं माइग्रेशन स्क्रिप्ट चलाने की सलाह देता हूं, और फिर अपनी बिल्ड प्रक्रिया के एक हिस्से के रूप में अपनी इकाइयों को पुन: उत्पन्न करता हूं। MigratorDotNet पहले से ही an MSBuildTarget के साथ आता है, इसमें यह कुछ क्लिक शामिल होंगे।
Castle Project active record is a nice way of doing it.
समान प्रस्तावों क्षमताओं सक्रिय रिकॉर्ड रेल पर रूबी के लिए है।
एक और विकल्प एनएचबेर्नेट का उपयोग FluentNhibernate के साथ करना है जो आपके मॉडल को सम्मेलनों के आधार पर स्वचालित रूप से मानचित्रित करेगा। आप अपनी जरूरतों के लिए इसे ट्विक करने के लिए मैपिंग को ओवरराइड भी कर सकते हैं।
कैसल प्रोजेक्ट NHQernate का उपयोग करता है, LINQ से इकाइयों तक नहीं, नहीं? –
सच है, मेरा बुरा, फिर भी यह एक अच्छा विकल्प है यदि आप माइग्रेशन जैसी कार्यक्षमता चाहते हैं – Konstantinos