मैं कई उपयोगकर्ताओं के साथ एक वेबसाइट बनाना चाहता हूं और स्पष्ट रूप से बड़ी मात्रा में डेटाबेस के साथ, और मुझे ईएफ या एनएचबीरनेट में अनुभव नहीं है, मेरे लिए क्या अनुशंसा की जाती है?एमवीसी के साथ स्क्रैच से एक वेबसाइट बनाना, कौन सा ओआरएम बेहतर, ईएफ या एनएचबीरनेट है?
उत्तर
ईएफ बहुत अच्छी तरह से .NET और विजुअल स्टूडियो के साथ एकीकृत है। आपको विजुअल स्टूडियो के अंदर एक बहुत अच्छा डिजाइनर देता है, और लिनक्यू का लाभ उठाने के लिए लिखे गए प्रश्नों को लिखने के लिए बहुत आसान है।
मेरे लिए, यह कोई ब्रेनर नहीं है। मैं बिना किसी संदेह के ईएफ 4 के साथ जाऊंगा।
आप पहली बार कर रहे हैं मैं एफई साथ जाने के लिए आप की सिफारिश करेंगे क्योंकि इसके साथ कोई और अधिक विन्यास और छिपा हुआ गुण ज़र्द करने के लिए अपने आसान .... सिर्फ वस्तु को जोड़ने के लिए कोई अतिरिक्त प्रयासों लागू करने के लिए और अपने काम की जरूरत है किया हुआ।
लेकिन यदि आप बेहतर प्रदर्शन देख रहे हैं तो NHibernate के लिए जाएं।
उत्तर इस बात पर निर्भर करता है कि आप बैकएंड पर किस डेटाबेस का उपयोग कर रहे हैं। यदि आप किसी भी माइक्रोसॉफ्ट डेटाबेस का उपयोग कर रहे हैं तो ईएफ जाने का रास्ता है।
ओरेकल एक ग्राहक (यह आ रहा है) अभी तक एफई का समर्थन करता है कि नहीं है, तो आप ओरेकल से बात करने तक वे अपने ग्राहक को अद्यतन NHibernate का उपयोग करना होगा।
मैं, NHibernate के लिए जाना चाहते हैं, क्योंकि यह आप प्रदर्शन एफई की तुलना में बेहतर बदल सकते हैं और विभिन्न डेटाबेस में बेहतर पोर्टेबल है।
पहली बार के लिए asp.net MVC के उपयोग करते समय, आप S#arp architecture उपयोग करने पर विचार कर सकते हैं। यह NHibernate का उपयोग करता है। वेबसाइट पर यह स्पष्ट रूप से समझाया गया है कि कैसे जल्दी से शुरू किया जाए।
न तो।
मैंने पिछले वर्ष के लिए ईएफ का उपयोग किया है और मेरी समस्याएं परेशानी के लायक नहीं हैं।
मैं अपने साथियों के इस बता दिया है - अगर मैं समय में वापस जा सकते हैं मैं इसे दूर सार संक्षेप एक पतली API से संग्रहित प्रक्रियाओं का प्रयोग करेंगे।
या तो वह या "हल्के वजन" ओआरएम जैसे डैपर या भारी का उपयोग करें।
ईएफ ने मुझे बहुत अधिक ब्लोट, एसोसिएशन (विशेष रूप से विरासत मॉडल) के साथ जटिलता, बग की कभी तय नहीं की, और एमवीसी जैसे स्टेटलेस वातावरण में "अद्यतन" इकाइयों के साथ समस्याएं दीं।
अगर मैं डाउनवॉट हो जाता हूं तो वास्तव में परवाह नहीं है - बस मेरे दो सेंट में रखना चाहते हैं। शुरुआत में मुझे ईएफ पसंद था, क्योंकि मैं एल 2 एसक्यूएल पृष्ठभूमि से आया था, इसलिए यह एक आसान संक्रमण था। लेकिन एक बार जब मैंने कवर के नीचे खोदना शुरू कर दिया तो मुझे पता चला कि काम करना कितना दर्दनाक है।
कहा जा रहा है - मैं NHibernate इस्तेमाल नहीं किया है तो मैं उस पर टिप्पणी नहीं कर सकता, केवल इकाई की रूपरेखा पर टिप्पणी।
धातु के करीब चिपकें - आपको लंबे समय तक बेहतर प्रदर्शन मिलेगा। "असली" मॉडल में कोड लिखें - एसक्यूएल, इंडेक्स का उपयोग करें, एसक्यूएल सर्वर (या ओरेकल) इंजन को यह करने दें कि यह सबसे अच्छा करता है।
LINQ ढांचे के अनुरूप और बुद्धिमान के रूप में, आईएमओ (और हम सब कुछ यहां कर सकते हैं, राय दे सकते हैं), LINQ-Entities केवल एक पर्याप्त मूल SQL उत्पन्न नहीं करता है जब आपके पास एक गैर-मूल मॉडल होता है (जो अधिकांश लोग करते हैं)।
मेरे EF4 पालतू peeves:
नहीं कर पा रहे उत्सुक लोड केवल कुछ "प्रकार"। उदा। यदि आपके पास
Post
औरLocation
*..*
के रूप में हैं, और आपके पासQuestion
पोस्ट के प्रकार के रूप में है, तोLocation
पुनर्प्राप्त करने का कोई तरीका नहीं है और बस यहQuestion
है। आपको या तो सभीPosts
लोड करना होगा, या अज्ञात प्रकार प्रक्षेपण का उपयोग करना होगा। सामान्य रूप से, उत्सुक लोडिंग बेहद दर्दनाक है।एक स्टेटलेस, पीओसीओ परिदृश्य में मौजूदा इकाई पर रिश्ते को अद्यतन करना। फिर, अगर आप एक
Post
है, जो कईLocation
की है है, और आप परिवर्तनLocation
एक मौजूदाPost
से जुड़ा हुआ है के लिए, वहाँ एक MVC नियंत्रक कार्रवाई के साथ ऐसा करने के लिए कोई आसान तरीका है चाहता हूँ। ईएफ को रिश्ते को मानने के लिएmodified
जब आप पीओसीओ के साथ काम करते हैं, तो आपको वास्तव में इसे संशोधित करने की आवश्यकता होती है। लेकिन अगर आपके पास पीओसीओ है, तो रिश्ते आमतौर परICollection<TPOCO>
होते हैं, इसलिए आपके पास इन तरीकों से निर्मित नहीं होते हैं। जब आपSave
करते हैं तो आप ओएसएम की गड़बड़ी में एंटीटी स्टेट को मैन्युअल रूप से सेट करते हैं। मैं मूल रूप से बाएं से दाएं, में इकाइयों को विलय कर रहा हूं।बयानों का कोई बैचिंग नहीं। मेरा मानना है कि एनएचबीर्नेट इसका समर्थन करता है। यह ईएफ के साथ बड़ी समस्या है, खासकर यदि आप एक ही यात्रा में एकाधिक ऑब्जेक्ट्स अपडेट करना चाहते हैं। मैं आम तौर पर पहले स्थान पर ईएफ के बिंदु को हराकर एक संग्रहित प्रक्रिया का उपयोग कर समाप्त होता हूं।
एनम के लिए लुकअप टेबल मैप नहीं कर सकता।। ठीक है, तो यह एक बड़ा मुद्दा नहीं है, लेकिन यह एक परेशान है। लुक टेबल एक enum लिए एक प्राकृतिक फिट हैं, लेकिन एफई बस इसे समर्थन नहीं करता है -। दिन 1. कोई विचार क्यों इस में डाल नहीं किया गया है से समुदाय से अपील के बावजूद
- 1. कौन सा बेहतर है?
- 2. कौन सा बेहतर है? OpenCyc या ConceptNet?
- 3. कौन सा बेहतर है, ईटीएल या ईएलटी?
- 4. कौन सा बेहतर है - PyInstaller या cx_Freeze?
- 5. कौन सा बेहतर है, नागियोस या सेंसू?
- 6. कौन सा बेहतर BOOST_MPL_ASSERT या BOOST_STATIC_ASSERT है?
- 7. मेरी वेबसाइट के लिए एपीआई बनाने के लिए कौन सा बेहतर है: एमवीसी या एडोनेट डेटा सेवाएं?
- 8. स्कैला के साथ कौन सा ओआरएम अच्छा काम करता है?
- 9. कोडिनेटर के लिए कौन सा ओआरएम? नीचे
- 10. से कौन सा बेहतर है, ExpectedException या @Test (उम्मीद =
- 11. एक बेहतर तरीका कौन सा है? libsvm या svmclassify?
- 12. एएसपी.नेट एमवीसी साइट के लिए कौन सा डाटा फ्रेमवर्क बेहतर है - LINQ से SQL या NHibernate
- 13. बेहतर डेटाबेस डिज़ाइन कौन सा है?
- 14. विंडोज के लिए कौन सा बेहतर है? pthreads या CreateMutex?
- 15. ईएफ 4 एनएचबीरनेट के साथ तुलना कैसे करता है?
- 16. टेक्स्टव्यू या वेबव्यू के बीच कौन सा बेहतर है?
- 17. PHP में बेहतर प्रदर्शन कौन सा है?
- 18. ऑब्जेक्ट डेटासोर्स या कोड-बैक: कौन सा बेहतर है?
- 19. कौन सा कैनोलिक नाम बेहतर है? www या गैर-www?
- 20. एंड्रॉइड: व्यूफ्लिपर या व्यूपेगर - बेहतर विकल्प कौन सा है?
- 21. टीआर 1 - कौन सा बेहतर है?
- 22. कौन सा बेहतर, सीएसएस पारदर्शिता या पीएनजी पारदर्शिता है?
- 23. फेसबुक Likebox कौन सा कोड बेहतर है
- 24. कौन सा ओसीआर इंजन बेहतर है: टेसेरैक्ट या ओक्रोपस?
- 25. कौन सा बेहतर पैकेज डिज़ाइन है?
- 26. ओआरएम चुनते समय, LINQ से SQL या LINQ से इकाइयों को NHibernate से बेहतर है?
- 27. कौन सा है बेहतर: बुकमार्क/कुंजी लुक या सूचकांक स्कैन
- 28. कौन सा बेहतर है ?: (+ कम करें ...) या (लागू + ...)?
- 29. कौन सा बेहतर है? MySQL की पसंद या REGEXP?
- 30. कौन सा बेहतर है: विदेशी कुंजी या मॉडल विरासत?
[nhibernate के संभावित डुप्लिकेट , इकाई ढांचे, सक्रिय रिकॉर्ड या linq2sql] (http://stackoverflow.com/questions/1377236/nhibernate-entity-framework-active-records-or-linq2sql) –