SQLite के लिए .NET / C # आवरण है? [बन्द है]


267

मैं C # .Net के भीतर से SQLite का उपयोग करना चाहूंगा, लेकिन मुझे एक उपयुक्त लाइब्रेरी नहीं मिल सकती है। वहाँ एक है? एक अधिकारी एक? क्या रेपर के साथ SQLite का उपयोग करने के अन्य तरीके हैं?


4
यह इस प्रश्न का एक डुप्लिकेट है: stackoverflow.com/questions/26020/… और इसका एक अलग उत्तर है।
स्टीवर्ट जॉनसन

2
वास्तव में, मेरा मानना ​​है कि दोनों ने एक ही परियोजना के उत्तर लिंक को स्वीकार कर लिया।
कॉलिन

जवाबों:


328

से https://system.data.sqlite.org :

System.Data.SQLite SQLite के लिए एक ADO.NET एडेप्टर है।

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

"System.Data.SQLite मूल SQLite डेटाबेस इंजन और एक पूर्ण ADO.NET 2.0 प्रदाता है जो सभी को एक मिश्रित मोड असेंबली में रोल करता है। यह मूल sqlite3.dll के लिए एक पूर्ण ड्रॉप-इन प्रतिस्थापन है (आप इसका नाम बदल भी सकते हैं। sqlite3.dll)। सामान्य मिश्रित असेंबली के विपरीत, इसका .NET रनटाइम पर कोई लिंकर निर्भरता नहीं है, इसलिए इसे .NET के स्वतंत्र रूप से वितरित किया जा सकता है। "

यह भी मोनो का समर्थन करता है।


33
यह एक पुराना प्रश्न है लेकिन मुझे अपना $ 0.02 जोड़ना था। System.Data.SQLite चट्टानों। यह सुपर परिष्कृत, स्थिर और वाणिज्यिक ग्रेड गुणवत्ता है। सबसे अच्छा, यह 100% प्रबंधित कोड है और इसे सार्वजनिक डोमेन स्रोत कोड के रूप में जारी किया गया है।
नाथन रिडले

4
सिर्फ स्थिरता के लिए, क्योंकि लोग दोनों के बारे में अलग-अलग बातें कर रहे हैं। Sqlite.phxsoftware.com में आपको डाउनलोड करने के लिए sourceforge.net/projects/sqlite-dotnet2 को इंगित किया गया है।
येयेरमैन

16
यह आवरण अब अपने मूल लेखक द्वारा विकसित नहीं किया जा रहा है, और लगता है कि विकास को SQLite ने खुद ही ले लिया है। नई साइट system.data.sqlite.org पर है, हालांकि फिलहाल यह मूल की तुलना में कम उपयोगकर्ता के अनुकूल और अधिक कार्य-प्रगति में लगता है।
मिकेल

5
@NathanRidley - क्या आपको यकीन है कि इसका 100% प्रबंधन किया गया है, क्योंकि यह उत्तर कहता है "System.Data.SQLite मूल SQLite डेटाबेस इंजन और एक पूर्ण ADO.NET 2.0 प्रदाता है जो सभी को एक मिश्रित मोड असेंबली में रोल करता है।"
लॉजिकp

2
FYI करें, मैंने Microsoft के Microsoft.Data.Sqlite .NET Standard Nuget पैकेज का उपयोग करने की कोशिश की, लेकिन यह AsyncPoco Github लाइब्रेरी में मुट्ठी भर एकीकरण परीक्षणों पर विफल रहा। System.Data.SQLite पर स्विच करने के बाद, सब कुछ पूरी तरह से काम किया।
ली ग्रिसोम



15

Sqlite.org के लोगों ने ADO.NET प्रदाता के विकास को संभाला है:

से अपने मुखपृष्ठ :

यह SQLite के लिए लोकप्रिय ADO.NET 4.0 एडॉप्टर का एक कांटा है, जिसे System.Data.SQLite के रूप में जाना जाता है। System.Data.SQLite के प्रवर्तक, रॉबर्ट सिम्पसन, इस कांटे के बारे में जानते हैं, ने अपनी स्वीकृति व्यक्त की है, और नए जीवाश्म भंडार पर विशेषाधिकार प्रतिबद्ध हैं। SQLite डेवलपमेंट टीम का इरादा System.Data.SQLite को आगे बढ़ाने का है।

ऐतिहासिक संस्करण, साथ ही साथ मूल समर्थन फ़ोरम, अभी भी http://sqlite.phxsoftware.com पर पाए जा सकते हैं , हालांकि 2010 के अप्रैल से इस संस्करण में कोई अपडेट नहीं हुआ है।

सुविधाओं की पूरी सूची उनके विकी पर पाई जा सकती है । मुख्य विशेषताएं शामिल हैं

  • ADO.NET 2.0 का समर्थन
  • पूर्ण इकाई फ्रेमवर्क समर्थन
  • पूर्ण मोनो समर्थन
  • विजुअल स्टूडियो 2005/2008 डिज़ाइन-टाइम समर्थन
  • कॉम्पैक्ट फ्रेमवर्क, C / C ++ सपोर्ट

जारी किए गए DLL को सीधे साइट से डाउनलोड किया जा सकता है ।


रेडीमेड डीएलएल अब उपलब्ध हैं
zomf

8

मैं निश्चित रूप से System.Data.SQLite के साथ जाऊँगा (जैसा कि पहले बताया गया है: http://sqlite.phxsoftware.com/ )

यह ADO.NET (System.Data। *) के साथ सुसंगत है, और एक एकल DLL में संकलित है। कोई sqlite3.dll - क्योंकि SQLite का C कोड System.Data.SQLite.dll के भीतर एम्बेडेड है। प्रबंधित सी ++ जादू का एक सा।


लिंक वर्तमान में 404 है
SqlACID

7

sqlite-net एक खुला स्रोत है, जो SQLite 3 डेटाबेस में डेटा को स्टोर करने के लिए .NET और मोनो एप्लिकेशन को अनुमति देने के लिए न्यूनतम लाइब्रेरी हैविकी पेज पर अधिक जानकारी ।

यह C # में लिखा गया है और इसका मतलब है कि यह केवल आपकी परियोजनाओं के साथ संकलित किया जाएगा। यह पहली बार iPhone पर मोनोऑउट के साथ काम करने के लिए डिज़ाइन किया गया था, लेकिन सभी प्लेटफार्मों (Android, .NET, सिल्वरलाइट, WP7, WinRT, Azure, आदि के लिए मोनो) पर काम करने के लिए बड़ा हुआ है।

यह नुगेट पैकेज के रूप में उपलब्ध है , जहां यह 2014 के 60,000 से अधिक डाउनलोड के साथ दूसरा सबसे लोकप्रिय SQLite पैकेज है।

साइक्लाइट-नेट को एक त्वरित और सुविधाजनक डेटाबेस परत के रूप में डिजाइन किया गया था। इसका डिजाइन इन लक्ष्यों से है:

  • मौजूदा परियोजनाओं के साथ और मोनो-प्रोजेक्ट परियोजनाओं के साथ एकीकरण करना बहुत आसान है।
  • SQLite पर पतला आवरण और तेज और कुशल होना चाहिए। (लाइब्रेरी में आपके प्रश्नों का प्रदर्शन अड़चन नहीं होना चाहिए।)
  • CRUD संचालन और प्रश्नों को सुरक्षित रूप से निष्पादित करने के लिए (मापदंडों का उपयोग करके) और उन क्वेरी के परिणामों को जोरदार ढंग से टाइप करने के लिए बहुत ही सरल तरीके।
  • आपको अपनी कक्षाओं को बदलने के लिए मजबूर किए बिना आपके डेटा मॉडल के साथ काम करता है। (इसमें एक छोटी प्रतिबिंब-चालित ORM परत शामिल है।)
  • 0 sqlite2 लाइब्रेरी के संकलित रूप से अलग निर्भरता।

गैर-लक्ष्यों में शामिल हैं:

  • नहीं एक ADO.NET कार्यान्वयन। यह एक पूर्ण SQLite ड्राइवर नहीं है। यदि आपको इसकी आवश्यकता है, तो System.Data.SQLite का उपयोग करें।

मैंने ध्यान दिया कि 2014 से पहले की अधिकांश टिप्पणी System.Data.SQLite की थी, जिसे मैंने अपने विंडोज स्टोर ऐप पर इंस्टॉल करने की कोशिश की (काम नहीं किया)। स्क्लाइट-नेट काम करता है।
जीशान ली

2

मोनो एक आवरण के साथ आता है। https://github.com/mono/mono/tree/master/mcs/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 वास्तविक SQLite dll ( http): www.sqlite को लपेटने के लिए कोड देता है । org / sqlite-shell-win32-x86-3071300.zip डाउनलोड पृष्ठ पर पाया .net दोस्ताना तरीके http://www.sqlite.org/download.html/ ) । यह लिनक्स या विंडोज पर काम करता है।

यह सभी दुनिया में सबसे पतला लगता है, तीसरे पक्ष के पुस्तकालयों पर आपकी निर्भरता को कम करता है। अगर मुझे इस प्रोजेक्ट को स्क्रैच से करना है, तो यह तरीका है मैं इसे करूँगा।


2

Microsoft.Data.Sqlite

Microsoft अब .NET के लिए प्रथम-पक्ष SQLite समाधान के रूप में Microsoft.Data.Sqlite प्रदान करता है , जो ASP.NET कोर के भाग के रूप में प्रदान किया जाता है। लाइसेंस अपाचे लाइसेंस, संस्करण 2.0 है

* अस्वीकरण: मैंने वास्तव में अभी तक इसे स्वयं उपयोग करने की कोशिश नहीं की है, लेकिन .NET डॉक्स और यूडब्ल्यूपी के साथ इसका उपयोग करने के लिए Microsoft डॉक्स पर कुछ दस्तावेज यहां दिए गए हैं


2

मेरे जैसे उन लोगों के लिए जिन्हें ADO.NET की जरूरत नहीं है या वे नहीं चाहते हैं, जिन्हें SQLite के करीब कोड चलाने की जरूरत है, लेकिन netstandard(.net फ्रेमवर्क, .net कोर, आदि) के साथ संगत है , मैंने एक बनाया है। 100% फ्री ओपन सोर्स प्रोजेक्ट SQLNado ("Not ADO" के लिए) यहाँ github पर उपलब्ध है:

https://github.com/smourier/SQLNado

यह यहाँ एक nuget के रूप में उपलब्ध है https://www.nuget.org/packages/SqlNado लेकिन एकल .cs फ़ाइल के रूप में भी उपलब्ध है, इसलिए यह किसी भी C # प्रोजेक्ट प्रकार में उपयोग करने के लिए काफी व्यावहारिक है।

यह SQL कमांड का उपयोग करते समय सभी SQLite सुविधाओं का समर्थन करता है, और .NET के माध्यम से अधिकांश SQLite सुविधाओं का भी समर्थन करता है:

  • स्वचालित क्लास-टू-टेबल मैपिंग (सेव, डिलीट, लोड, लोडएड, लोडबायप्रिमरीकेय, लोडबायफोरिग्नके, आदि)
  • वर्गों और मौजूदा तालिका के बीच स्कीमा (तालिकाओं, स्तंभों) का स्वचालित सिंक्रनाइज़ेशन
  • थ्रेड-सुरक्षित संचालन के लिए डिज़ाइन किया गया
  • कहां और ऑर्डरबैंक LINQ / IQueryable .NET अभिव्यक्तियों का समर्थन किया जाता है (इस क्षेत्र में कार्य अभी भी प्रगति पर है), साथ में सहयोग भी
  • SQLite डेटाबेस स्कीमा (टेबल, कॉलम, आदि) .NET के संपर्क में
  • SQLite कस्टम फ़ंक्शन .NET में लिखे जा सकते हैं
  • SQLite वृद्धिशील BLOB I / O को उच्च मेमोरी खपत से बचने के लिए .NET स्ट्रीम के रूप में उजागर किया गया है
  • SQL कोड का उपयोग करते हुए कस्टम कोलाज जोड़ने की संभावना सहित SQLite कोलाज समर्थन
  • SQLite पूर्ण पाठ खोज इंजन (FTS3) समर्थन, .NET कोड का उपयोग करके कस्टम FTS3 टोकन जोड़ने की संभावना सहित (उदाहरण के लिए स्थानीय स्टॉप शब्द जैसे)। मुझे विश्वास नहीं है कि कोई अन्य .NET रैपर ऐसा करते हैं।
  • किसी भी बाइनरी निर्भरता फ़ाइल को शिपिंग से बचने के लिए विंडोज 'winqlite3.dll' (केवल हाल के विंडोज संस्करणों पर) के लिए स्वचालित समर्थन । यह Azure वेब ऐप्स में भी काम करता है!।

0

Monotouch के संस्करण 1.2 में System.Data के लिए समर्थन शामिल है। आप अधिक जानकारी यहाँ पा सकते हैं: http://monotouch.net/Documentation/System.Data

लेकिन मूल रूप से यह आपको sqlite के साथ सामान्य ADO .NET पैटर्न का उपयोग करने की अनुमति देता है।


0

http://www.devart.com/dotconnect/sqlite/

SQLite के लिए dotConnect SQLite के लिए एक बढ़ाया डेटा प्रदाता है जो SQLite- आधारित डेटाबेस अनुप्रयोगों को विकसित करने के लिए एक पूर्ण समाधान प्रस्तुत करने के लिए ADO.NET तकनीक पर बनाता है। डेवार्ट डेटाबेस एप्लिकेशन डेवलपमेंट फ्रेमवर्क के एक हिस्से के रूप में, SQLite के लिए डॉट कॉनकनेक्ट, SQLite डेटाबेस के लिए उच्च प्रदर्शन देशी कनेक्टिविटी और कई नए डेवलपमेंट टूल और टेक्नोलॉजी प्रदान करता है।

SQLite के लिए dotConnect एप्लिकेशन आर्किटेक्चर डिजाइन करने के लिए नए दृष्टिकोणों का परिचय देता है, उत्पादकता बढ़ाता है और डेटाबेस एप्लिकेशन कार्यान्वयन का लाभ उठाता है।

मैं मानक संस्करण का उपयोग करता हूं, यह सही काम करता है :)


0

साइक्लाइट लाइब्रेरी द्वारा उपलब्ध कराए गए कार्यों के नंगे पांव। नवीनतम संस्करण sqlite पुस्तकालय 3.7.10 प्रदान किए गए कार्यों का समर्थन करता है

SQLiteWrapper परियोजना

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.