2012-07-21 9 views
10

मैं अपने ऐप को ईएम 5 में अपग्रेड करना चाहता था ताकि एनम स्पेटियल इत्यादि के लिए समर्थन जैसे फीचर्स का लाभ उठाया जा सके। हालांकि, मैं अपग्रेड करने में सक्षम नहीं था जब तक कि मैं .NET 4.5 पर नहीं जाता।क्या तकनीकी कारण हैं EF 5 .NET4.0 पर पूरी तरह से समर्थित नहीं है?

मैं जानना चाहता हूं कि .NET 4.5 की कौन सी विशेषताएं ईएफ 5 का उपयोग करती हैं जो इसे .NET 4.0 में नहीं किया जा सकता है?

+0

मुझे आशा है कि अद्यतन शीर्षक यह एक "रचनात्मक" सवाल है कि बनाता है। हालांकि, यहां तक ​​कि अगर कुछ * तकनीकी रूप से * व्यवहार्य है, तो यह संभवतः * कई लक्ष्यों का समर्थन करने के लिए व्यावहारिक * संभव नहीं हो सकता है (कल्पना करें कि यह केवल * एक * नई "सुविधा" 4.5 एपीआई कॉल का उपयोग करता है), खासकर जब नवीनतम को बढ़ावा देने की कोशिश कर रहा है- -greatest .. भी, .NET4.0 से .NET4.5 तक जा रहा है "सीएलआर-ब्रेकिंग" परिवर्तन नहीं है, जैसे .NET3.5 से .NET4 (या .NET1.1 से .NET2) था। –

+0

इसका एक तत्काल उदाहरण: 2 ढांचे का समर्थन करने के लिए आवश्यक परीक्षण को तुरंत दोगुना कर दिया जाता है (प्रत्येक ढांचे पर परीक्षण की आवश्यकता होती है), ** भले ही ** आपको किसी तकनीकी समस्या से अवगत न हो। –

+2

[आप NuGet के माध्यम से .NET4.0 के लिए EF5 स्थापित कर सकते हैं] (http://nuget.org/packages/entityframework), लेकिन आपको शायद सभी सुविधाएं नहीं मिलेंगी। –

उत्तर

15

मेरे समझ के साथ कि एफई> = 4.1 (एफई 5 सहित) (System.Data.Entity.dll) जो .NET फ्रेमवर्क

  • अतिरिक्त पैकेज का हिस्सा हैं जैसे

    • एफई "मुख्य लाइब्रेरीज" के होते है/विधानसभा आप Nuget के माध्यम से डाउनलोड कर सकते हैं जो DbContext एपीआई और कोड-सबसे पहले विकास

    थे योजनाओं और 2011 की गर्मियों (Entity Framework June 2011 CTP) में एक प्रयास enum जारी करने के लिए, spatia शामिल एल समर्थन और अन्य नई विशेषताएं (कोड-फर्स्ट माइग्रेशन को छोड़कर) .NET 4.5 जारी होने से पहले मूल librares के अद्यतन के रूप में। लेकिन ईएफ टीम ने फैसला किया है कि NuGet पैकेज के लिए इस तरह के बैंड अपडेट संभव हैं (यही कारण है कि ईएफ 4.3 में पहले से ही माइग्रेशन फीचर है जिसे मूल पुस्तकालयों को छूने की आवश्यकता नहीं है), लेकिन मूल पुस्तकालयों के लिए भी वे हैं कठिन और नहीं किया जा सकता .NET 4.5 से पहले रिलीज:

    इकाई की रूपरेखा के लिए दो तार्किक भागों, कोर घटक है कि .नेट फ्रेमवर्क और विजुअल स्टूडियो और अंदर जहाज 'बैंड से बाहर कर रहे हैं 'घटक जिन्हें हम लगातार शेड्यूल पर अपडेट कर सकते हैं। वर्तमान में हम देख रहे हैं कि हम कोर घटकों को अधिक लगातार तालमेल पर कैसे अपडेट कर सकते हैं। 'ईएफ जून 2011 सीटीपी' कोर घटक को अधिक बार शिपिंग करने का हमारा पहला प्रयास था और यह स्पष्ट हो गया है कि हम तकनीकी रूप से तक तकनीकी रूप से तैयार नहीं हैं।

    कोर घटक शामिल हैं:

    • कोर एफई क्रम (System.Data.Entity.dll & System.Web.Entity.dll)
    • एफई डिजाइनर

    बैंड घटकों में से शामिल : (हम भविष्य में बैंड घटकों से अधिक जहाज भेज देंगे)

    • DbContext एपीआई & कोड पहले (EntityFramework.dll)
    • मॉडल सबसे पहले & डाटाबेस पहले
    • एफई विद्युत उपकरण
    • कोड पहले माइग्रेशन

    (से उद्धरण के साथ DbContext एपीआई का उपयोग कर के लिए टी -4 टेम्पलेट्स here।)

    इसका मतलब है कि enum ईएफ के लिए समर्थन .NET 4.5 कोर पुस्तकालयों का हिस्सा होगा और डाउनलोड करने योग्य ईएफ 5 NuGet पैकेज के नहीं। इसलिए enum जैसी नई ईएफ विशेषताएं और स्थानिक समर्थन .NET 4.0 के साथ उपलब्ध नहीं हैं।

    इतिहास और "एफई NuGet पैकेज" से "एफई कोर पुस्तकालयों" को अलग करने का कारण के बारे में अधिक यहाँ है: http://blogs.msdn.com/b/adonet/archive/2011/10/18/how-we-talk-about-ef-and-its-future-versions.aspx

  • +0

    तो मैं समझता हूं कि टीम चाहता था कि गैर कोड पहले पुस्तकालयों को enum, स्थानिक समर्थन इत्यादि का लाभ उठाने में सक्षम होना चाहिए। ऐसे मामले में एक एसपी जारी करना जो वीएस 2010 अपडेट करेगा, एक सस्ता विकल्प होगा। प्रोजेक्ट को मजबूर करने के लिए मजबूर करना 4.5 और वहां डेवलपर्स को वीएस 2012 में जाने के लिए केवल 2 साल की अवधि में रनटाइम में बड़े बदलाव के बिना पैसे के पीछे चलना पसंद है। मुझे पता है वीएस 2012 एक बेहतर उत्पाद है। :) मुझे उम्मीद है कि वे वीएस 2012 अपग्रेड की कीमत को कम कर देंगे। लेकिन मुझे खुशी है कि आगे बढ़ना, एएसपी.नेट और ईएफ ओपन सोर्स जा रहे हैं। – Hemant

    +0

    @ हेमंत कम से कम यह एमएसटीएस्ट परियोजनाओं के ऑटो-अप "फीचर" की तरह नहीं है .. वीएस -2010 में .NET35 परीक्षण चाहते हैं? :( –

    +0

    @ हेमंत: मुझे कुछ और उद्धरण और संसाधन मिले और मेरे जवाब में शामिल किया गया। लेकिन वास्तव में कुछ भी नया नहीं है। – Slauma

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