Existe um wrapper .NET / C # para o SQLite?

Eu meio que gostaria de usar o SQLite de dentro do C # .Net, mas não consigo encontrar uma biblioteca apropriada. Existe um? Um oficial? Existem outras maneiras de usar o SQLite do que com um wrapper?

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

System.Data.SQLite é um adaptador ADO.NET para SQLite.

System.Data.SQLite foi iniciado por Robert Simpson. Robert ainda tem privilégios de commit neste repository, mas não é mais um colaborador ativo. O trabalho de desenvolvimento e manutenção agora é realizado principalmente pela equipe de desenvolvimento do SQLite. A equipe do SQLite está comprometida em dar suporte ao System.Data.SQLite a longo prazo.

“System.Data.SQLite é o mecanismo de database SQLite original e um provedor ADO.NET 2.0 completo, tudo em um único assembly de modo misto. É um substituto completo para o sqlite3.dll original (você pode até renomeá-lo para Ao contrário dos assemblies mistos normais, ele não tem dependência do vinculador no runtime do .NET para que possa ser distribuído independentemente do .NET. ”

Até suporta o Mono.

Aqui estão os que eu posso encontrar:

  • gerenciado-sqlite
  • Envoltório do SQLite.NET
  • System.Data.SQLite

Fontes:

  • sqlite.org
  • outros cartazes

Há também agora esta opção: http://code.google.com/p/csharp-sqlite/ – uma porta completa de SQLite para C #.

O pessoal do sqlite.org assumiu o desenvolvimento do provedor ADO.NET:

De sua homepage :

Esta é uma bifurcação do popular adaptador ADO.NET 4.0 para SQLite conhecido como System.Data.SQLite. O criador do System.Data.SQLite, Robert Simpson, está ciente deste fork, expressou sua aprovação e tem privilégios de commit no novo repository Fossil. A equipe de desenvolvimento do SQLite pretende manter o System.Data.SQLite seguindo em frente.

Versões históricas, bem como os fóruns de suporte originais, ainda podem ser encontrados em http://sqlite.phxsoftware.com , embora não haja atualizações para esta versão desde abril de 2010.

A lista completa de resources pode ser encontrada em seu wiki . Os destaques incluem

  • Suporte do ADO.NET 2.0
  • Suporte completo ao Entity Framework
  • Suporte Mono completo
  • Suporte ao Visual Studio 2005/2008 Design-Time
  • Compact Framework, suporte para C / C ++

As DLLs liberadas podem ser baixadas diretamente do site .

Eu definitivamente iria com System.Data.SQLite (como mencionado anteriormente: http://sqlite.phxsoftware.com/ )

Ele é coerente com o ADO.NET (System.Data. *) E é compilado em uma única DLL. Não sqlite3.dll – porque o código C do SQLite é incorporado dentro de System.Data.SQLite.dll. Um pouco de magia C ++ gerenciada.

O sqlite-net é uma biblioteca de código aberto e mínima para permitir que aplicativos .NET e Mono armazenem dados em bancos de dados SQLite 3 . Mais informações na página wiki .

Está escrito em C # e deve ser simplesmente compilado com seus projetos. Foi projetado primeiramente para trabalhar com o MonoTouch no iPhone, mas cresceu para funcionar em todas as plataformas (Mono para Android, .NET, Silverlight, WP7, WinRT, Azure, etc.).

Ele está disponível como um pacote Nuget , onde é o segundo pacote SQLite mais popular, com mais de 60.000 downloads a partir de 2014.

O sqlite-net foi projetado como uma camada de database rápida e conveniente. Seu design segue destes objectives:

  • Muito fácil de integrar com projetos existentes e com projetos MonoTouch.
  • Embalagem fina sobre SQLite e deve ser rápida e eficiente. (A biblioteca não deve ser o gargalo de desempenho de suas consultas.)
  • Métodos muito simples para executar operações e consultas CRUD com segurança (usando parâmetros) e para recuperar os resultados dessas consultas de maneira fortemente tipada.
  • Funciona com seu modelo de dados sem forçá-lo a alterar suas classs. (Contém uma pequena camada ORM orientada por reflection.)
  • 0 dependencies além de uma forma compilada da biblioteca sqlite2.

Não metas incluem:

  • Não é uma implementação do ADO.NET. Este não é um driver completo do SQLite. Se você precisar disso, use System.Data.SQLite.

Mono vem com um invólucro. https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 fornece o código para encapsular a DLL do SQLite real ( http: //www.sqlite. org / sqlite-shell-win32-x86-3071300.zip encontrado na página de download http://www.sqlite.org/download.html/ ) de uma forma amigável .net. Funciona no Linux ou no Windows.

Isso parece o mais fino de todos os mundos, minimizando sua dependência de bibliotecas de terceiros. Se eu tivesse que fazer este projeto do zero, esta é a maneira que eu faria.

Microsoft.Data.Sqlite

A Microsoft agora fornece o Microsoft.Data.Sqlite como uma solução SQLite primordial para .NET, que é fornecida como parte do ASP.NET Core. A licença é a licença Apache, versão 2.0 .

  • Pacote NuGet
  • Repo de origem no GitHub

* Disclaimer: Eu não tentei realmente usar isso ainda, mas há alguma documentação fornecida no Microsoft Docs aqui para usá-lo com o .NET Core e UWP.

Para aqueles que, como eu, não precisam ou não querem o ADO.NET, aqueles que precisam executar código mais próximo do SQLite, mas ainda compatíveis com o netstandard (framework .net, núcleo .net, etc.), eu construí um projeto de código aberto 100% gratuito chamado SQLNado (para “Não ADO”) disponível no github aqui:

https://github.com/smourier/SQLNado

Observação: ele não está disponível como um nuget a partir de hoje, mas como um único arquivo .cs, por isso é bastante prático usar em qualquer tipo de projeto do C #.

A versão 1.2 do Monotouch inclui suporte para System.Data. Você pode encontrar mais detalhes aqui: http://monotouch.net/Documentation/System.Data

Mas basicamente permite que você use os padrões usuais do ADO .NET com o sqlite.

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

O dotConnect for SQLite é um provedor de dados aprimorado para SQLite que se baseia na tecnologia ADO.NET para apresentar uma solução completa para o desenvolvimento de aplicativos de database baseados em SQLite. Como parte da estrutura de desenvolvimento de aplicativos de database Devart, o dotConnect for SQLite oferece conectividade nativa de alto desempenho para o database SQLite e várias ferramentas e tecnologias de desenvolvimento inovadoras.

O dotConnect for SQLite introduz novas abordagens para projetar a arquitetura de aplicativos, aumenta a produtividade e aproveita a implementação de aplicativos de database.

Eu uso a versão padrão, funciona perfeito 🙂

Um wrapper barebones das funções conforme fornecido pela biblioteca sqlite. Versão mais recente suporta funções fornecidas biblioteca sqlite 3.7.10

Projeto SQLiteWrapper