Eu gostaria de usar o SQLite no C # .Net, mas não consigo encontrar uma biblioteca apropriada. Existe um? Oficial? Existem outras maneiras de usar o SQLite além de um wrapper?
Eu gostaria de usar o SQLite no C # .Net, mas não consigo encontrar uma biblioteca apropriada. Existe um? Oficial? Existem outras maneiras de usar o SQLite além de um wrapper?
Respostas:
Em https://system.data.sqlite.org :
System.Data.SQLite é um adaptador ADO.NET para SQLite.
O System.Data.SQLite foi iniciado por Robert Simpson. Robert ainda tem privilégios de confirmação neste repositório, 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 oferecer suporte a System.Data.SQLite a longo prazo.
"System.Data.SQLite é o mecanismo de banco de dados SQLite original e um provedor ADO.NET 2.0 completo, reunidos em um único conjunto 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 de vinculador no tempo de execução do .NET, portanto pode ser distribuído independentemente do .NET. "
Ele ainda suporta Mono.
Aqui estão os que posso encontrar:
Fontes:
Agora também existe esta opção: http://code.google.com/p/csharp-sqlite/ - uma porta completa do SQLite para C #.
O pessoal do sqlite.org assumiu o desenvolvimento do provedor ADO.NET:
Na página inicial :
Este é um fork do popular adaptador ADO.NET 4.0 para SQLite, conhecido como System.Data.SQLite. O criador do System.Data.SQLite, Robert Simpson, está ciente desse fork, expressou sua aprovação e possui privilégios de confirmação no novo repositório Fossil. A equipe de desenvolvimento do SQLite pretende manter o System.Data.SQLite 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 recursos pode ser encontrada em seu wiki . Os destaques incluem
As DLLs liberadas podem ser baixadas diretamente do site .
Eu definitivamente iria com System.Data.SQLite (como mencionado anteriormente: http://sqlite.phxsoftware.com/ )
É coerente com o ADO.NET (System.Data. *) E é compilado em uma única DLL. Não existe sqlite3.dll - porque o código C do SQLite está incorporado no System.Data.SQLite.dll. Um pouco de magia C ++ gerenciada.
O sqlite-net é uma biblioteca mínima de código aberto 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 compilado com seus projetos. Ele foi projetado para funcionar com o MonoTouch no iPhone, mas cresceu para funcionar em todas as plataformas (Mono para Android, .NET, Silverlight, WP7, WinRT, Azure etc.).
Está disponível como um pacote Nuget , onde é o segundo pacote SQLite mais popular, com mais de 60.000 downloads em 2014.
O sqlite-net foi projetado como uma camada de banco de dados rápida e conveniente. Seu design segue esses objetivos:
Os não objetivos incluem:
Mono vem com um invólucro. https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 fornece código para agrupar a dll 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 maneira amigável para .net. Funciona no Linux ou Windows.
Esse parece o mais fino de todos os mundos, minimizando sua dependência de bibliotecas de terceiros. Se eu tivesse que fazer esse projeto do zero, é assim que eu faria.
A Microsoft agora fornece o Microsoft.Data.Sqlite como uma solução SQLite primária para .NET, que é fornecida como parte do ASP.NET Core. A licença é a licença Apache, versão 2.0 .
* Isenção de responsabilidade: Na verdade, eu ainda não tentei usar isso, mas há alguma documentação fornecida no Microsoft Docs aqui para usá-lo com o .NET Core e o UWP.
Para aqueles como eu que não precisam ou não desejam o ADO.NET, aqueles que precisam executar o código mais perto do SQLite, mas ainda compatíveis com netstandard
(estrutura .net, núcleo .net, etc.), criei um Projeto de código aberto 100% gratuito chamado SQLNado (para "Not ADO") disponível no github aqui:
https://github.com/smourier/SQLNado
Está disponível como um nuget aqui https://www.nuget.org/packages/SqlNado, mas também está disponível como um único arquivo .cs, portanto, é bastante prático usar em qualquer tipo de projeto C #.
Ele suporta todos os recursos SQLite ao usar comandos SQL e também suporta a maioria dos recursos SQLite através do .NET:
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 ele permite que você use os padrões habituais 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 banco de dados baseados em SQLite. Como parte da estrutura de desenvolvimento de aplicativos de banco de dados Devart, o dotConnect for SQLite oferece conectividade nativa de alto desempenho ao banco de dados SQLite e várias ferramentas e tecnologias de desenvolvimento inovadoras.
O dotConnect for SQLite apresenta novas abordagens para projetar a arquitetura de aplicativos, aumenta a produtividade e aproveita a implementação de aplicativos de banco de dados.
Eu uso a versão padrão, funciona perfeito :)
Um wrapper de barebones das funções, conforme fornecido pela biblioteca sqlite. A versão mais recente suporta funções fornecidas pela biblioteca sqlite 3.7.10