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