Me gustaría utilizar SQLite desde C# .Net, pero parece que no puedo encontrar una biblioteca adecuada. ¿Hay alguno? ¿Uno oficial? ¿Hay otras maneras de usar SQLite que con un contenedor?¿Hay un contenedor .NET/C# para SQLite?
Respuesta
De https://system.data.sqlite.org:.
System.Data.SQLite is an ADO.NET adapter for SQLite.
System.Data.SQLite was started by Robert Simpson. Robert still has commit privileges on this repository but is no longer an active contributor. Development and maintenance work is now mostly performed by the SQLite Development Team. The SQLite team is committed to supporting System.Data.SQLite long-term.
"System.Data.SQLite es el motor de la base de datos SQLite original y una completa proveedor ADO.NET 2.0, todo en un solo conjunto de modo mixto es una gota en completa reemplazo del sqlite3.dll original (incluso puede cambiarle el nombre a sqlite3.dll). A diferencia de los ensamblados mixtos normales, no tiene una dependencia del enlazador en el tiempo de ejecución .NET por lo que se puede distribuir independientemente de .NET ".
Incluso es compatible con Mono.
Esta es una vieja pregunta, pero tuve que agregar mi $ 0.02. System.Data.SQLite rocks. Es súper refinado, estable y de calidad comercial. Lo mejor de todo es que es un código administrado al 100% y se ha lanzado como un código fuente de dominio público. –
Solo por coherencia, porque las personas hablan de ambas cosas como diferentes. En sqlite.phxsoftware.com apunta a sourceforge.net/projects/sqlite-dotnet2 para descargar. – yeyeyerman
Este envoltorio ya no está siendo desarrollado por su autor original, y el desarrollo parece haber sido asumido por el propio SQLite. El nuevo sitio está en system.data.sqlite.org, aunque por el momento parece menos fácil de usar y más trabajo en progreso en comparación con el original. – mikel
Aquí son los que se encuentran:
- managed-sqlite
- SQLite.NET envoltorio
- System.Data.SQLite
Fuentes:
- sqlite.org
- otros carteles
sin duda lo van con System.Data.SQLite (como se ha mencionado anteriormente: http://sqlite.phxsoftware.com/) (. System.Data *)
Es coherente con ADO.NET, y está compilado en una sola DLL. No sqlite3.dll: porque el código C de SQLite está incrustado en System.Data.SQLite.dll. Un poco de magia C++ administrada.
También existe ahora esta opción: http://code.google.com/p/csharp-sqlite/ - un puerto completo de SQLite a C#.
La versión 1.2 de Monotouch incluye soporte para System.Data. Puede encontrar más detalles aquí: http://monotouch.net/Documentation/System.Data
Pero básicamente le permite usar los patrones ADO .NET usuales con sqlite.
http://www.devart.com/dotconnect/sqlite/
dotConnect para SQLite es un proveedor de datos mejorado para SQLite que se basa en la tecnología ADO.NET para presentar una solución completa para el desarrollo de aplicaciones de bases de datos basado en SQLite. Como parte del marco de desarrollo de la aplicación de la base de datos Devart, dotConnect para SQLite ofrece conectividad nativa de alto rendimiento a la base de datos SQLite y una serie de herramientas y tecnologías de desarrollo innovadoras.
dotConnect for SQLite presenta nuevos enfoques para diseñar arquitectura de aplicaciones, aumenta la productividad y aprovecha la implementación de aplicaciones de bases de datos.
Yo uso la versión estándar, funciona perfecto :)
La gente de sqlite.org se han apoderado de la evolución de la ADO.proveedor de NET:
De their homepage:
This is a fork of the popular ADO.NET 4.0 adaptor for SQLite known as System.Data.SQLite. The originator of System.Data.SQLite, Robert Simpson, is aware of this fork, has expressed his approval, and has commit privileges on the new Fossil repository. The SQLite development team intends to maintain System.Data.SQLite moving forward.
Historical versions, as well as the original support forums, may still be found at http://sqlite.phxsoftware.com , though there have been no updates to this version since April of 2010.
La lista completa de características se puede encontrar en on their wiki. Destacan
- ADO.NET 2.0 apoyo apoyo apoyo
- Visual Studio 2005/2008 de tiempo de diseño de soporte
- Compact Framework, C/C++ apoyo
- completa de Entity Framework
- completa Mono
Las DLL lanzadas se pueden descargar directamente desde the site.
ready-made Las DLL están ahora disponibles – zomf
Un barebones envoltura de las funciones proporcionadas por la biblioteca sqlite. La última versión es compatible con funciones siempre librería SQLite 3.7.10
Mono viene con un envoltorio. https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 proporciona el código para envolver el archivo DLL de SQLite real (http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip que se encuentra en la página de descarga http://www.sqlite.org/download.html/) de una manera amigable .net. Funciona en Linux o Windows.
Parece el más delgado de todos los mundos, lo que minimiza su dependencia de las bibliotecas de terceros. Si tuviera que hacer este proyecto desde cero, esta es la forma en que lo haría.
sqlite-net es una biblioteca mínima de código abierto para permitir que las aplicaciones .NET y Mono almacenen datos en SQLite 3 databases. Más información en el wiki page.
Está escrito en C# y está destinado a ser simplemente compilado con sus proyectos. Primero fue diseñado para trabajar con MonoTouch en el iPhone, pero ha crecido para funcionar en todas las plataformas (Mono para Android, .NET, Silverlight, WP7, WinRT, Azure, etc.).
Está disponible como Nuget package, donde es el segundo paquete SQLite más popular con más de 60.000 descargas a partir de 2014.
sqlite-net fue diseñado como una capa de base de datos rápida y conveniente. Su diseño sigue estos objetivos:
- Muy fácil de integrar con proyectos existentes y con proyectos MonoTouch.
- Thin wrapper sobre SQLite y debe ser rápido y eficiente. (La biblioteca no debe ser el cuello de botella de rendimiento de sus consultas.)
- Métodos muy simples para ejecutar operaciones CRUD y consultas de forma segura (utilizando parámetros) y para recuperar los resultados de esas consultas de manera fuertemente tipada.
- Funciona con su modelo de datos sin obligarlo a cambiar sus clases. (Contiene una pequeña capa ORM orientada por reflexión.)
- 0 dependencias aparte de una forma compilada de la biblioteca sqlite2.
no-objetivos incluyen:
- No una implementación ADO.NET. Este no es un controlador SQLite completo. Si lo necesita, use System.Data.SQLite.
Noté que la mayoría del comentario anterior a 2014 decía System.Data.SQLite que traté de instalar en mi aplicación Windows Store (no funcionó). Sqlite-net funciona. –
Microsoft.Data.Sqlite
Microsoft proporciona ahora Microsoft.Data.Sqlite como una solución SQLite de primera parte de .NET, que se proporciona como parte de ASP.NET Core. La licencia es Apache License, Version 2.0.
* responsabilidad: En realidad no he intentado usar este mismo todavía, pero hay algo de documentación proporcionada por Microsoft Docs here para usarlo con .NET Core y UWP .
Para aquellos como yo que no necesitan o no quieren ADO.NET, aquellos que necesitan ejecutar código más cerca de SQLite, pero aún son compatibles con netstandard
(.net framework, .net core, etc.) , he construido un proyecto de código abierto 100% llamada SQLNado (por "no ADO") disponible en github aquí:
https://github.com/smourier/SQLNado
Nota: no está disponible como un Nuget a partir de hoy, pero como un único archivo .cs, por lo que es bastante práctico usarlo en cualquier tipo de proyecto C#.
- 1. ¿Hay un contenedor tipo ORM para memcached
- 2. Qué es un buen contenedor OO C++ para sqlite
- 3. Contenedor de base de datos ligero de Python para SQLite
- 4. ¿Hay un contenedor Oracle para Python que admita columnas xmltype?
- 5. ¿Hay un contenedor C# disponible para Salesforce REST Api?
- 6. ¿Hay un contenedor C# para la API VMware VIX?
- 7. ¿Hay un incremento automático en sqlite?
- 8. ¿Hay un literal booleano en SQLite?
- 9. ¿Hay palabras reservadas en SQLite?
- 10. ¿Hay perfiladores de SQLite disponibles?
- 11. ¿Hay tipo Long en SQLite?
- 12. ¿hay un objeto tipo contenedor en three.js para transformar un grupo de hijos?
- 13. ¿Hay un elemento HTML 'contenedor' nativo de bloque en línea?
- 14. ¿Hay una fachada de contenedor en Boost?
- 15. ¿Hay algún contenedor API de Robocopy?
- 16. contenedor observable para C++
- 17. Escribiendo un contenedor administrado para Chromium
- 18. ¿Hay alguna clase de contenedor Qt observable?
- 19. LoadError: no hay tal archivo para cargar - dm-sqlite-adapter
- 20. ¿Hay una biblioteca de funciones extendida para SQLite?
- 21. Contenedor C# para objetos
- 22. ¿Hay un equivalente sqlite .dump en objetivo-c?
- 23. ¿Cómo ejecuto un contenedor desde el interior de un contenedor?
- 24. ¿Qué hay del multihilo en Android SQLite?
- 25. ¿Hay algún navegador/administrador PyQt sqlite?
- 26. ¿Hay un contenedor de código temporal en línea para C#? (JS Bin, jsFiddle clones)?
- 27. Distribución de un contenedor
- 28. contenedor COI para Objective-C
- 29. ¿Hay alguna manera de acceder al contenedor subyacente de los adaptadores de contenedor STL?
- 30. ¿hay un límite para el tamaño de una base de datos SQLite?
Este es un duplicado de esta pregunta: http://stackoverflow.com/questions/26020/what-is-the-best-way-to-connect-and-use-a-sqlite-database-from-c y tiene una respuesta diferente. –
En realidad, creo que ambas respuestas aceptadas se vinculan con el mismo proyecto. – Colin