Pergunta

Eu tinha uma espécie de como usar SQLite de dentro C # .Net, mas eu não consigo encontrar uma biblioteca apropriada. Existe um? Um oficial? Existem outras maneiras de usar SQLite do que com um envoltório?

Foi útil?

Solução

A partir https://system.data.sqlite.org :

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

System.Data.SQLite foi iniciada por Robert Simpson. Robert ainda tem cometer privilégios sobre este repositório, mas já não é um contribuinte ativo. Desenvolvimento e trabalho de manutenção é agora na maior parte realizada pela Equipe de Desenvolvimento SQLite. A equipe SQLite está empenhada em apoiar System.Data.SQLite longo prazo.

"System.Data.SQLite é o motor de banco de dados SQLite original e um provedor ADO.NET 2.0 completa, tudo em um único modo misto montagem. É um drop-in completo substituto para o sqlite3.dll original (você pode até mesmo mude-para sqlite3.dll). conjuntos mistos normais ao contrário, isso não tem qualquer dependência ligante no .NET tempo de execução para que ele possa ser distribuído de forma independente de NET ".

Ele até suporta Mono.

Outras dicas

Aqui estão os que eu pode encontrar:

Fontes:

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

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

A partir sua homepage :

Este é um fork do ADO.NET populares 4.0 adaptador para SQLite conhecido como System.Data.SQLite. O autor da System.Data.SQLite, Robert Simpson, é cientes deste garfo, expressou sua aprovação, e tem cometer privilégios em o novo repositório Fossil. o SQLite equipe de desenvolvimento pretende manter System.Data.SQLite avançar.

Versões históricas, bem como a fóruns de suporte originais, ainda pode ser Encontrado em http://sqlite.phxsoftware.com , embora não houve atualizações para este versão desde abril de 2010.

A lista completa de características podem ser encontradas em em sua wiki. Os destaques incluem

  • Suporte ADO.NET 2.0
  • Suporte completo Entity Framework
  • Suporte completo Mono
  • Visual Studio 2005/2008 suporte de tempo de design
  • Compact Framework, C / C ++ suporte

DLLs Lançado pode ser baixado diretamente do o site .

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

É coerente com ADO.NET (System.Data. *), E é compilado em um único DLL. Sem sqlite3.dll - porque o código C do SQLite é incorporado dentro System.Data.SQLite.dll. Um pouco de magia conseguiu C ++.

sqlite-net é uma fonte aberta, biblioteca mínima para permitir que aplicativos .NET e Mono para armazenar dados em SQLite 3 bases de dados . Mais informações no wiki página .

Ele é escrito em C # e é feito para ser simplesmente compilado com seus projetos. Ele foi inicialmente concebido para trabalhar com MonoTouch no iPhone, mas tem crescido a trabalhar em todas as plataformas (Mono para Android, .NET, Silverlight, WP7, WinRT, Azure, etc.).

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

sqlite-net foi concebido como uma camada de banco de dados rápida e conveniente. Seu design segue a partir destes objetivos:

  • Muito fácil de integrar com projetos existentes e com projetos MonoTouch.
  • Fina wrapper sobre SQLite e deve ser rápido e eficiente. (A biblioteca não deve ser o gargalo de suas consultas desempenho.)
  • métodos muito simples para executar operações CRUD e consultas com segurança (usando parâmetros) e para recuperar os resultados daqueles consulta de uma forma fortemente tipado.
  • Trabalha com o seu modelo de dados sem forçá-lo a mudar suas classes. (Contém uma camada ORM pequeno-driven reflexão.)
  • 0 dependências, além de uma forma compilada da biblioteca sqlite2.

Não-objetivos incluem:

  • não uma implementação ADO.NET. Este não é um driver SQLite completo. Se você precisa que, System.Data.SQLite uso.

Mono vem com um invólucro. https: // github .com / mono / mono / árvore / master / mcs / class / Mono.Data.Sqlite / Mono.Data.Sqlite_2.0 dá código para embrulhar o dll SQLite real ( http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip constatada na página de download http://www.sqlite.org/download.html/ ) em uma forma .net amigável. Ele funciona em Linux ou Windows.

Este parece ser o mais fino de todos os mundos, minimizando sua dependência de bibliotecas de terceiros. Se eu tivesse que fazer esse projeto a partir do zero, esta é a maneira que eu iria fazê-lo.

Microsoft.Data.Sqlite

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

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

Para aqueles como eu, que não precisam ou não querem ADO.NET, aqueles que precisam para executar código mais perto de SQLite, mas ainda compatível com netstandard (.NET Framework, o núcleo .net, etc.), I 'Construímos um projeto open source 100% livre chamado SQLNado (para "Não ADO") disponível no github aqui:

https://github.com/smourier/SQLNado

Ele está disponível como um NuGet aqui https://www.nuget.org/packages/SqlNado, mas também está disponível como um único arquivo .cs, por isso é bastante prático para uso em qualquer tipo de projeto C #.

Ele suporta todos SQLite apresenta ao usar comandos SQL, e também suporta a maioria dos SQLite apresenta através NET:

  • Automatic mapeamento de classe-to-table (guardar, eliminar, Load, Loadall, LoadByPrimaryKey, LoadByForeignKey, etc.)
  • sincronização automática de esquema (tabelas, colunas) entre as classes e tabela existente
  • Projetado para operações de thread-safe
  • Onde e OrderBy LINQ / IQueryable .NET expressões são suportados (trabalho ainda está em andamento nesta área), também com suporte agrupamento
  • SQLite esquema de banco de dados (tabelas, colunas, etc) expostas ao .NET
  • funções personalizadas SQLite podem ser escritos em .NET
  • SQLite incrementais BLOB I / O é exposto como um .NET Stream para evitar o consumo de memória alta
  • Suporte de agrupamento do SQLite, incluindo a possibilidade de adicionar agrupamentos personalizados usando o código .NET
  • SQLite completa do motor Text Search (FTS3) apoio, incluindo a possibilidade de adicionar personalizados FTS3 tokenizers usando o código .NET (como palavras de parada localizados, por exemplo). Eu não acredito que quaisquer outros invólucros .NET fazer isso.
  • Suporte automático para Windows 'winsqlite3.dll' (apenas em versões recentes do Windows) para evitar enviar o binário dependência arquivo. Isso funciona em Azure Web Apps também!.

A versão 1.2 da 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 habituais padrões ADO .NET com SQLite.

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

dotConnect para SQLite é um provedor de dados melhorada para SQLite que constrói na tecnologia ADO.NET para apresentar uma solução completa para desenvolvimento de aplicativos de banco de dados baseados em SQLite. Como parte do quadro de desenvolvimento de aplicações de banco de dados Devart, dotConnect para SQLite oferece conectividade nativa de alto desempenho para o banco de dados SQLite e uma série de ferramentas de desenvolvimento inovadoras e tecnologias.

dotConnect para SQLite introduz novas abordagens para a arquitetura do aplicativo concepção, a produtividade aumenta, e alavanca de implementação de banco de dados.

Eu uso a versão padrão, ele funciona perfeito:)

A barebones invólucro das funções previstas pela biblioteca SQLite. Últimas funções versão suporta fornecido biblioteca SQLite 3.7.10

SQLiteWrapper projeto

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top