2015-03-27 6 views
50

मैं एक नई परियोजना के लिए एंटिटी फ्रेमवर्क 7 और एएसपी.नेट 5 के साथ खेल रहा हूं, लेकिन मैंने एक रोड ब्लॉक मारा है। जिस टीम पर मैं काम कर रहा हूं वह डीबीए-विकास के लिए पहला दृष्टिकोण उपयोग करता है; यानी डेटाबेस को डीबीए द्वारा डिजाइन किया गया है और फिर डेवलपर मॉडल परिवर्तनों की भरपाई करने के लिए कोड को बदल देते हैं।क्या कोई इकाई फ्रेमवर्क 7 डाटाबेस-पहला पॉको जेनरेटर है?

ईएफ 6 का उपयोग करके, यह अच्छी तरह से काम करता है, क्योंकि हम ईडीएमएक्स डिजाइनर की "अपडेट" कार्यक्षमता का उपयोग करके कोड को अपडेट कर सकते हैं। एक क्लिक, हमें नए वर्ग मिलते हैं, और हम कर चुके हैं। हालांकि, ईएफ 7 में, सबकुछ अलग है। अब और डिज़ाइनर नहीं है, और हमें कोड-फर्स्ट का उपयोग करना होगा, जो ईएफ टीम द्वारा वहां कुछ ब्लॉग पोस्टिंग के अनुसार, "डाटाबेस-फर्स्ट" कोड पीढ़ी का भी समर्थन करना चाहिए।

हालांकि, मैं यह पता लगाने में असमर्थ हूं कि एएसपी.NET 5 एप्लिकेशन में विजुअल स्टूडियो 2015 सीटीपी 6 के साथ इसे कैसे किया जाए। क्या टूलिंग का समर्थन अभी तक है, या क्या मैं भाग्य से बाहर हूं? और क्या यह भी आ रहा है?

+0

"रिवर्स इंजीनियर कोड पहले" देखें – DLeh

+1

हाँ मैंने कुछ दिन खोज कर बिताए हैं। ईएफ 6 के साथ ऐसा करने के बारे में बहुत सारी जानकारी है, लेकिन ईएफ 7 के साथ एक तरीका नहीं दिखता है। उस समय के लिए, मैंने एक ईएफ 6 प्रोजेक्ट बनाया है, वहां रिवर्स-इंजीनियरिंग किया है, और फ़ाइलों को मेरी ईएफ 7 प्रोजेक्ट में कॉपी किया है (ईएफ 7 में मौजूद गैर-मौजूद नामस्थानों के कारण कुछ संशोधनों के साथ), लेकिन लंबी अवधि में मुझे एक और अधिक स्थिर समाधान की आवश्यकता होगी। –

+1

मुझे नहीं लगता कि वे इतना अंतर बनाने के लिए काफी अलग हैं। मुझे लगता है कि ईएफ 7 अभी भी बीटा में है, इसलिए शायद इसके लिए अभी तक पूर्ण समर्थन नहीं है। https://github.com/aspnet/EntityFramework/releases – DLeh

उत्तर

51

नवीनतम बिट्स में यह DNX कमांड प्रॉम्प्ट और powershell यह करने के लिए आदेश उपयोग करना संभव है हाँ

Scaffold-DbContext '<connectionString>' EntityFramework.MicrosoftSqlServer 

या

dnx ef dbcontext scaffold "<connectionString>" EntityFramework.MicrosoftSqlServer 

या (एफई से कोर RC2)

dotnet ef dbcontext scaffold "<connectionString>" Microsoft.EntityFrameworkCore.SqlServer 

आपको EntityFramework.Commands और EntityFramework.MicrosoftSqlServer स्थापित करना होगा। Comm के लिए डिज़ाइन पैकेज और काम करने के लिए

+0

क्या आप कृपया मुझे बताएं कि यह आदेश कहां चलाया जाए .. dnx कमांड प्रॉम्प्ट को कहां खोजें – Pooran

+1

मेरा बुरा .. इसे मिला http://blogs.msdn.com/b/sujitdmello/archive/2015/04/23/step-by -स्ट-इंस्टॉलेशन-निर्देश-के-हो रही-डीएनएक्स-ऑन-आपके-लैपटॉप.एएसपी – Pooran

12

यह NuGet पैकेज प्रबंधक कंसोल या कमांड प्रॉम्प्ट का उपयोग करके किया जा सकता है। मैंने कमांड प्रॉम्प्ट के साथ प्रयास किया।

EntityFramework.Commands

EntityFramework.SqlServer.Design

:

dnx ef dbcontext scaffold "Data Source=myServerName; Initial Catalog=myDatabaseName; Integrated Security=True" EntityFramework.SqlServer 

मैं लापता पैकेज के बारे में त्रुटियों मिला: कमांड प्रॉम्प्ट में परियोजना फ़ोल्डर में नेविगेट करने के बाद, मैं एक ऐसी ही आदेश का इस्तेमाल किया

आगे बढ़ने से पहले इस आदेश के बाद:

dnu restore 

वास्तविक पैकेज (ओं) आवश्यक project.json फ़ाइल में उल्लिखित फ्रेमवर्क (ओं) के आधार पर भिन्न हो सकते हैं।

यदि आप कमांड प्रॉम्प्ट में dnx या अन्य संबंधित कमांड निष्पादित करने में असमर्थ हैं, तो THIS लिंक का पालन करें जिसका उत्तर किसी अन्य उत्तर की टिप्पणियों में किया गया है।

पीएस:

ASP.NET - EntityFramework Wiki -- NuGet/DNX Commands

+1

ने .NET कोर आरसी 2 (मई 2016) –

8

यहाँ की RC2 के लिए अपडेट किए गए पैरामीटर है: यहाँ वर्तमान आदेश सूची [लेखन के समय, अंतिम अपडेट अगस्त 21] है।नेट कोर (मई 2016)

dotnet ef dbcontext scaffold -c RRStoreContext -o Model 
"Data Source=(local);Initial Catalog=DBNAME;Integrated Security=True"  
Microsoft.EntityFrameworkCore.SqlServer --force 

ध्यान दें कि Microsoft.EntityFrameworkCore.SqlServer पैकेज आदेश में इस्तेमाल किया जा करने की जरूरत है कि के लिए नया नाम है। मैंने मौजूदा फ़ाइलों को ओवरराइट करने के लिए force पैरामीटर जोड़ा है। 'ओ' पैरामीटर आउटपुट निर्देशिका नाम है। और अब dnx के बजाय dotnet है।

मौजूदा रिलीज के रूप में निर्भरता अपने project.json में आप की जरूरत है

"dependencies": { 
    "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore.Tools": { 
     "type": "build", 
     "version": "1.0.0-preview1-final" 
    } 
    }, 

नोट: 'निर्माण' का प्रकार का मतलब है कि कुछ भी अपने विधानसभा संदर्भित एक निर्भरता के रूप में इस DLL नहीं ले जाएगा, क्योंकि यह केवल आवश्यक है टूलिंग के लिए।

+0

के लिए नए सिंटैक्स के लिए एक अलग उत्तर जोड़ा, मुझे उस आदेश पर पूरा दस्तावेज कहां मिल सकता है? –

+0

इसके अलावा, यह ध्यान देने योग्य है कि --force फ्लैग मौजूदा फ़ाइलों को ओवरराइट करता है –

+0

और 'dotnet ef --help' बहुत अच्छा है। –

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