2013-04-08 3 views
17

मैं एफई 4.1 & उपयोग कर रहा हूँ डीबी पहले दृष्टिकोण का उपयोग कर। मैंने अपनी .edmx फ़ाइल भी बनाई है। अब मैं अपनी पीओसीओ कक्षाएं बनाना चाहता हूं।DbContext उपयोग करने के लिए क्यों और नहीं ObjectContext

इस के लिए, मैं NuGet से एफई 4.x POCO इकाई जनरेटर के रूप में एफई 4.x DbContext जेनरेटर स्थापित किया है और साथ ही।

मैं पूरी तरह से पता है कि यह 4.1+ एफई के लिए DbContext उपयोग करने के लिए के रूप में यह ObjectContext से ली गई है recommnded रहा है। हालांकि, मैं अभी भी अपने POCO कक्षाएं 1 से एफई 4.x DbContext जेनरेटर द्वारा तब भी एफई 4.x POCO निकाय जेनरेटर & उपयोग करते हुए उत्पन्न।

संपादित करें: मिले इस ADO.NET DbContext Generator vs. ADO.NET Poco Entity Generator (ObjectContext)

मामले के दोनों में, यह .Context.tt & Model.tt फ़ाइलें उत्पन्न करता है। तो किसी भी उपकरण द्वारा उत्पन्न फाइलों में सटीक अंतर क्या है? ईएफ 4.1+ के लिए डीबीकॉन्टेक्स्ट का उपयोग करने की सिफारिश क्यों की जाती है?

मैं भी ObjectContext की सीमाओं जानना चाहूंगा।

उत्तर

17

DbContext नए एपीआई जो डेवलपर्स अनुभव पॉलिश जब सबसे सामान्य कार्यों का उपयोग कर देना चाहिए - बस एपीआई बेहतर बनाया गया है लेकिन आप अभी भी DbContext से ObjectContext हो और पुराने एपीआई का उपयोग आप कुछ और अधिक जटिल सुविधाओं का उपयोग करना चाहते हैं के लिए है। यदि आप भविष्य में ईएफ को 5.x या 6.x में अपग्रेड करने की योजना बना रहे हैं तो यह शायद डीबीकॉन्टेक्स्ट के साथ आसान होगा क्योंकि यही वह है जो एडीओ.NET टीम की सिफारिश कर रहा है।

जनरेटर के संदर्भ में एफई 4.x POCO जनरेटर और अधिक जटिल वर्ग है जो आंतरिक रूप से संबंधों अप को ठीक का उपयोग पैदा करता है। आलसी लोडिंग के साथ एक साथ उपयोग किए जाने पर यह सुविधा खुद को काफी अक्षम साबित हुई, इसलिए नया ईएफ डीबीकॉन्टेक्स्ट जनरेटर इसका उपयोग नहीं करता है।

साइड नोट: एक से दूसरे एपीआई से कोड संक्रमण पूरी तरह से समर्थित है:

  • आप ObjectContext स्वीकार करने ObjectContext एपीआई से DbContext एपीआई
  • को स्थानांतरित करने के लिए DbContext निर्माता का उपयोग कर सकते आप ले जाने के लिए IObjectContext एडाप्टर का उपयोग कर सकते हैं डीबीकॉन्टेक्स्ट एपीआई से ऑब्जेक्ट कॉन्टेक्स्ट एपीआई
संबंधित मुद्दे