Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एंटिटी फ्रेमवर्क के साथ मारियाडीबी का उपयोग करना

मैं एंटिटी फ्रेमवर्क के साथ मारियाडीबी 10 का उपयोग करने में सक्षम था, हालांकि इसके लिए मुख्य रूप से थोड़ा काम करने की आवश्यकता थी क्योंकि MySQL उपकरण थोड़े छोटे हैं।

विजुअल स्टूडियो में MySQL/MariaDB के साथ काम करने के लिए 2010/2012 , आपको MySQL for Visual Studio इंस्टॉल करना होगा MySQL इंस्टालर का उपयोग करके . मैंने वेब संस्करण का उपयोग किया क्योंकि मैं केवल कनेक्टर्स और एक्सटेंशन डाउनलोड करना चाहता था। एक बार ऐसा करने के बाद, आप मारियाडीबी से कनेक्शन जोड़ सकते हैं और ईएफ मॉडल बना सकते हैं।

हालांकि यह आपके कोड को चलाने के लिए पर्याप्त नहीं है। सबसे पहले आपको NuGet का उपयोग करके MySQL कनेक्टर को जोड़ना होगा।

दुर्भाग्य से, विजुअल स्टूडियो के लिए MySQL एक पुराने प्रदाता संस्करण का संदर्भ जोड़ता है (उल्लिखित यहां ) और नया संस्करण लोड नहीं कर सकता। इसे ठीक करने के लिए, मैंने अपने app.config में निम्न अनुभाग जोड़ा:

<system.data>
   <DbProviderFactories>
     <remove invariant="MySql.Data.MySqlClient"/>
     <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" 
           description=".Net Framework Data Provider for MySQL" 
           type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
   </DbProviderFactories>
</system.data>

यह पुराने संदर्भ को एक नए के साथ बदल देता है। ध्यान दें कि मैंने इस्तेमाल किया

<remove invariant="MySql.Data.MySqlClient"/>

नहीं

<remove name="MySql Data Provider"/>

remove . में तत्व।

वर्तमान में, विजुअल स्टूडियो के लिए MySQL विजुअल स्टूडियो 2013 में समर्थित नहीं है

अद्यतन करें - 2017

Connector/.NET अनिवार्य रूप से स्थिर है, 2013 में समान समस्याओं के साथ, उदाहरण के लिए कोई वास्तविक एसिंक्रोनस कॉल नहीं। "async" कॉल नकली हैं - वे अलग-अलग थ्रेड्स पर चलाई जाती हैं, जो async का उपयोग करने के उद्देश्य को विफल करती हैं। . यह अकेले इसे वेब अनुप्रयोगों के लिए अनुपयुक्त बनाता है, जहां कोई न्यूनतम का उपयोग करके अधिक से अधिक अनुरोधों को सर्वर करना चाहता है। थ्रेड्स/सीपीयू की संख्या।

.NET कोर समर्थन के बारे में कोई बात नहीं।

इसलिए पिछले कुछ वर्षों में लोगों ने अपने स्वयं के, सही मायने में अतुल्यकालिक प्रदाता बनाए हैं। कुछ अधिक लोकप्रिय हैं:

  • MySqlConnector .NET और . के लिए वास्तव में अतुल्यकालिक प्रदाता प्रदान करता है .NET कोर
  • पोमेलो MySQLConnector के शीर्ष पर EF कोर समर्थन प्रदान करता है

लगभग 100K NuGet प्रत्येक डाउनलोड, लगातार संस्करण और सक्रिय रखरखाव के साथ।

वे "आधिकारिक" नहीं हैं, लेकिन निश्चित रूप से कोशिश करने लायक हैं

लॉकडाउन अपडेट - अप्रैल 2020

ऐसा लगता है कि MySqlConnector और Pomelo ने वास्तव में उड़ान भरी है।

Connector/.NET ने अंततः कुछ संस्करण जारी किए लगभग दो वर्षों के बाद नवीनतम 8.0.19 के साथ, 233K . प्राप्त कर रहा है डाउनलोड।

MySqlConnector दूसरी ओर, 496K . मिला संस्करण 0.61.0 के लिए डाउनलोड। इस पोस्ट से 8 घंटे पहले आने वाले नवीनतम, 0.63.2 के साथ मामूली अपडेट अक्सर होते हैं। यह शायद थोड़ा बहुत बार-बार होता है, लेकिन 2 साल से कहीं बेहतर है।

मैंने अभी तक सुविधाओं या MySql 8 संगतता की जाँच नहीं की है। अगर मुझे हालांकि चुनना होता (जो मैं शायद अगले हफ्ते एक प्रोजेक्ट के लिए करूंगा), तो मैं MySqlConnector से शुरू करूंगा।

मुझे संदेह है कि .NET कोर रिलीज के साथ तालमेल रखने के लिए, कनेक्टर/.NET को और अधिक लगातार अपडेट की पेशकश करने के लिए मजबूर किया जाएगा, लेकिन इस बिंदु पर यह सिर्फ अटकलें हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. समस्या निवारण:MySQL/MariaDB त्रुटि #1044 और #1045 उपयोगकर्ता के लिए एक्सेस अस्वीकृत

  2. लैटिन -1 से utf-8 डेटाबेस

  3. दही mysql में घंटे और मिनट कैसे जोड़ें?

  4. MySQL मिलीसेकंड/माइक्रोसेकंड परिशुद्धता का समर्थन क्यों नहीं करता है?

  5. एसक्यूएल के साथ गतिशील MySQL प्रश्न तैयार कथन के रूप में सुरक्षित रूप से बच रहे हैं?