it-swarm-tr.com

SQLite için bir .NET / C # sarıcı var mı?

SQLite'yi C # .Net içinden kullanmak isterdim ama uygun bir kütüphane bulamıyorum. Bir tane var mı? Resmi olan mı? SQLite kullanmanın bir sarmalayıcıdan başka yolları var mı?

266
ian93

https://system.data.sqlite.org adresinden:

System.Data.SQLite, SQLite için bir ADO.NET bağdaştırıcısıdır.

System.Data.SQLite, Robert Simpson tarafından başlatıldı. Robert, hala bu depoda imtiyazlar vermiş, ancak artık aktif bir katılımcı değil. Geliştirme ve bakım çalışmaları artık çoğunlukla SQLite Geliştirme Ekibi tarafından gerçekleştiriliyor. SQLite ekibi, System.Data.SQLite uzun vadeli destek vermeye kararlıdır.

"System.Data.SQLite, orjinal SQLite veritabanı motorudur ve tamamı karışık bir ADO.NET 2.0 sağlayıcısıdır, hepsi karma modda bir araya getirilmiştir. Orijinal sqlite3.dll dosyasının tam bir yedeğidir (hatta onu yeniden adlandırabilirsiniz) sqlite3.dll) Normal karma derlemelerin aksine, .NET çalışma zamanına bağlayıcı bağımlılığı yoktur, bu nedenle .NET'ten bağımsız olarak dağıtılabilir. "

Mono'yu bile destekliyor.

327
ine

İşte bulabildiklerim:

Kaynaklar:

32
Tom Robinson

Şimdi bu seçenek de var: http://code.google.com/p/csharp-sqlite/ - C # 'a komple bir SQLite portu.

26
xanadont

Sqlite.org'dan millet ADO.NET sağlayıcısının gelişimini devraldı:

anasayfa 'dan:

Bu, System.Data.SQLite olarak bilinen SQLite için popüler ADO.NET 4.0 adaptörünün bir çatalıdır. System.Data.SQLite'nin yaratıcısı Robert Simpson, bu çatalın farkında, onayını açıkladı ve yeni Fosil deposunda imtiyazlar verdi. SQLite geliştirme ekibi, System.Data.SQLite’in ilerlemesini sürdürmeyi amaçlamaktadır.

Orijinal sürümler ve aynı zamanda orijinal destek forumları, bu sürümde 2010 yılının Nisan ayından bu yana güncelleme olmamasına rağmen http://sqlite.phxsoftware.com adresinde bulunabilir.

Özelliklerin tam listesi wiki'sinde adresinde bulunabilir. Öne çıkanlar

  • ADO.NET 2.0 desteği
  • Tam Varlık Çerçevesi desteği
  • Tam Mono desteği
  • Visual Studio 2005/2008 Tasarım Zamanı desteği
  • Kompakt Çerçeve, C/C++ desteği

Yayımlanan DLL'ler doğrudan site 'den indirilebilir.

15
David Schmitt

Kesinlikle System.Data.SQLite ile giderdim (daha önce belirtildiği gibi: http://sqlite.phxsoftware.com/ =)

ADO.NET (System.Data. *) İle uyumludur ve tek bir DLL dosyasında derlenir. Hayır sqlite3.dll - SQLite C kodu System.Data.SQLite.dll içinde gömülü olduğundan. Biraz C++ büyüsü başardı.

8
tonyz

sqlite-net , .NET ve Mono uygulamalarının SQLite 3 veritabanları içindeki verileri depolamasını sağlamak için açık kaynaklı, minimal bir kütüphanedir. wiki page adresinde daha fazla bilgi bulabilirsiniz.

C # ile yazılmıştır ve projelerinizle kolayca derlenmeniz amaçlanmıştır. İlk önce iPhone'da MonoTouch ile çalışmak üzere tasarlandı, ancak tüm platformlarda (Mono for Android, .NET, Silverlight, WP7, WinRT, Azure, vb.) Çalışmak üzere büyüdü.

Bir Nuget paketi olarak mevcuttur, burada 2014'ten itibaren 60.000'den fazla indirilen 2. en popüler SQLite paketidir.

sqlite-net, hızlı ve kullanışlı bir veritabanı katmanı olarak tasarlanmıştır. Tasarımı bu amaçlardan kaynaklanmaktadır:

  • Mevcut projelerle ve MonoTouch projelerle entegrasyonu çok kolaydır.
  • SQLite üzerinde ince sarıcı ve hızlı ve verimli olmalıdır. (Kütüphane, sorularınızın performans sorunu olmamalıdır.)
  • CRUD işlemlerini ve sorgularını güvenli bir şekilde yürütmek için (parametreleri kullanarak) ve bu sorgulama sonuçlarını güçlü bir şekilde yazmak için çok basit yöntemler.
  • Sizi sınıfınızı değiştirmeye zorlamadan veri modelinizle çalışır. (Yansıma odaklı küçük bir ORM katmanı içerir.)
  • Sqlite2 kütüphanesinin derlenmiş bir formu dışında 0 bağımlılık.

Hedef olmayanlar:

  • Bir ADO.NET uygulaması değil . Bu tam bir SQLite sürücüsü değil. Buna ihtiyacınız varsa, System.Data.SQLite kullanın.
7
dodgy_coder

Mono bir ambalajla birlikte gelir. https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2. asıl SQLite dll kodunu sarmak için kod verir (- http://www.sqlite.org/sqlite-Shell-win32-x86-3071300.Zip indirme sayfasında bulundu http://www.sqlite.org/download.html/ ) .net dostu bir şekilde. Linux veya Windows üzerinde çalışır.

Bu, üçüncü taraf kütüphanelere bağımlılığınızı en aza indirerek tüm dünyaların en incesi gibi görünüyor. Bu projeyi sıfırdan yapmak zorunda olsaydım, bu benim yapmam gereken yoldu.

2

Microsoft.Data.Sqlite

Microsoft, şimdi Microsoft.Data.Sqlite , ASP.NET Core'un bir parçası olarak sağlanan, .NET için birinci taraf bir SQLite çözümü olarak sunmaktadır. Lisans Apache License, Sürüm 2. .

* Sorumluluk reddi: Bunu henüz kendim kullanmayı denemedim, ancak Microsoft Docs üzerinde sağlanan bazı belgeler var burada .NET Core ve UWP ile kullanmak için.

ADO.NET’e ihtiyaç duymayan veya istemeyen benim gibi olanlar için, SQLite’ye daha yakın kod çalıştırması gereken, ancak yine de netstandard (.net çerçevesi, .net çekirdeği, vb.) İle uyumlu olanlar için, Burada github'da bulunan SQLNado ("ADO değil" için) adında% 100 ücretsiz bir açık kaynak projesi oluşturdum:

https://github.com/smourier/SQLNado

Burada bir nuget olarak mevcuttur https://www.nuget.org/packages/SqlNado ama aynı zamanda tek bir .cs dosyası olarak da mevcuttur, bu nedenle herhangi bir C # proje tipinde kullanmak oldukça pratiktir.

SQL komutlarını kullanırken tüm SQLite özelliklerini destekler ve ayrıca .NET üzerinden SQLite özelliklerinin çoğunu destekler:

  • Otomatik sınıftan masaya haritalama (Kaydet, Sil, Yükle, LoadAll, LoadByPrimaryKey, LoadByForeignKey, vb.)
  • Sınıflar ve mevcut tablo arasında otomatik şema senkronizasyonu (tablolar, sütunlar)
  • İş parçacığı güvenli işlemler için tasarlanmıştır
  • Nerede ve OrderBy LINQ/IQueryable .NET ifadeleri desteklenir (çalışma hala bu alanda devam etmektedir) ve ayrıca harmanlama desteği
  • .NET'e maruz SQLite veritabanı şeması (tablolar, sütunlar vb.)
  • SQLite özel fonksiyonları .NET'te yazılabilir
  • SQLite artımlı BLOB G/Ç yüksek bellek tüketimini önlemek için .NET Stream olarak gösteriliyor
  • .NET kodu kullanarak özel harmanlamalar ekleme imkanı da dahil olmak üzere SQLite harmanlama desteği
  • SQLite Tam Metin Arama motoru (FTS3) desteği, .NET kodunu kullanarak özel FTS3 belirteçleri ekleme imkanı dahil (örneğin, yerelleştirilmiş durma sözcükleri gibi). Başka bir .NET paketleyicisinin bunu yaptığına inanmıyorum.
  • Windows 'winsqlite3.dll' için otomatik destek (yalnızca son Windows sürümlerinde) dosyasına herhangi bir ikili bağımlılık dosyası göndermekten kaçının. Bu, Azure Web uygulamalarında da çalışır!.
1
Simon Mourier

Monotouch'un 1.2 sürümü System.Data için destek içeriyor. Burada daha fazla ayrıntı bulabilirsiniz: http://monotouch.net/Documentation/System.Data

Ancak, temelde, her zamanki ADO .NET modellerini sqlite ile kullanmanızı sağlar.

0
user203709

Sqlite kütüphanesi tarafından sağlanan fonksiyonların bir barebones sarıcısı. Son sürüm sqlite kütüphanesi 3.7.10 sağlanan işlevleri destekler

SQLiteWrapper projesi

0
Eminem

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

sQLite için dotConnect, SQLite tabanlı veritabanı uygulamaları geliştirmek için eksiksiz bir çözüm sunmak amacıyla ADO.NET teknolojisini kullanan SQLite için geliştirilmiş bir veri sağlayıcısıdır. Devart veritabanı uygulama geliştirme çerçevesinin bir parçası olarak, SQLite için dotConnect, hem SQLite veritabanına yüksek performanslı yerel bağlantı hem de bir dizi yenilikçi geliştirme araçları ve teknolojileri sunmaktadır.

sQLConite için dotConnect, uygulama mimarisi tasarlamak için yeni yaklaşımlar sunar, üretkenliği artırır ve veritabanı uygulaması uygulamasından yararlanır.

Standart versiyonu kullanıyorum, mükemmel çalışıyor :)

0
Antonio