Me gustaría usar SQLite desde C # .Net, pero parece que no puedo encontrar una biblioteca adecuada. ¿Hay uno? Uno oficial? ¿Hay otras formas de usar SQLite que con un contenedor?
Me gustaría usar SQLite desde C # .Net, pero parece que no puedo encontrar una biblioteca adecuada. ¿Hay uno? Uno oficial? ¿Hay otras formas de usar SQLite que con un contenedor?
Respuestas:
Desde https://system.data.sqlite.org :
System.Data.SQLite es un adaptador ADO.NET para SQLite.
System.Data.SQLite fue iniciado por Robert Simpson. Robert todavía tiene privilegios de compromiso en este repositorio, pero ya no es un contribuyente activo. El trabajo de desarrollo y mantenimiento ahora lo realiza principalmente el equipo de desarrollo de SQLite. El equipo de SQLite se compromete a admitir System.Data.SQLite a largo plazo.
"System.Data.SQLite es el motor de base de datos SQLite original y un proveedor ADO.NET 2.0 completo, todo en un solo ensamblaje de modo mixto. Es un reemplazo completo para el sqlite3.dll original (incluso puede cambiarle el nombre a sqlite3.dll). A diferencia de los ensamblados mixtos normales, no tiene dependencia del vinculador en el tiempo de ejecución de .NET, por lo que puede distribuirse independientemente de .NET ".
Incluso es compatible con Mono.
Aquí están los que puedo encontrar:
Fuentes:
Ahora también existe esta opción: http://code.google.com/p/csharp-sqlite/ : un puerto completo de SQLite a C #.
La gente de sqlite.org se ha hecho cargo del desarrollo del proveedor ADO.NET:
Desde su página de inicio :
Esta es una bifurcación del popular adaptador ADO.NET 4.0 para SQLite conocido como System.Data.SQLite. El creador de System.Data.SQLite, Robert Simpson, está al tanto de esta bifurcación, ha expresado su aprobación y ha otorgado privilegios en el nuevo repositorio de Fossil. El equipo de desarrollo de SQLite tiene la intención de mantener System.Data.SQLite en el futuro.
Las versiones históricas, así como los foros de soporte originales, todavía se pueden encontrar en http://sqlite.phxsoftware.com , aunque no ha habido actualizaciones de esta versión desde abril de 2010.
La lista completa de características se puede encontrar en su wiki . Lo más destacado incluye
Las DLL publicadas se pueden descargar directamente desde el sitio .
Definitivamente iría con System.Data.SQLite (como se mencionó anteriormente: http://sqlite.phxsoftware.com/ )
Es coherente con ADO.NET (System.Data. *) Y se compila 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 administrada de C ++.
sqlite-net es una biblioteca mínima de código abierto para permitir que las aplicaciones .NET y Mono almacenen datos en bases de datos SQLite 3 . Más información en la página wiki .
Está escrito en C # y está destinado a ser simplemente compilado con sus proyectos. Primero fue diseñado para funcionar 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 un paquete Nuget , 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 se desprende de estos objetivos:
Las no metas incluyen:
Mono viene con una envoltura. https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 proporciona un código para envolver el dll 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 para .net. Funciona en Linux o Windows.
Este parece el más delgado de todos los mundos, minimizando su dependencia de las bibliotecas de terceros. Si tuviera que hacer este proyecto desde cero, esta es la forma en que lo haría.
Microsoft ahora proporciona Microsoft.Data.Sqlite como una solución SQLite propia para .NET, que se proporciona como parte de ASP.NET Core. La licencia es la licencia de Apache, versión 2.0 .
* Descargo de responsabilidad: todavía no he intentado usar esto yo mismo, pero hay cierta documentación provista en Microsoft Docs aquí 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 compatibles con netstandard
(.NET framework, .net core, etc.), he creado un Proyecto de código abierto 100% gratuito llamado SQLNado (para "No ADO") disponible en github aquí:
https://github.com/smourier/SQLNado
Está disponible como nuget aquí https://www.nuget.org/packages/SqlNado pero también está disponible como un único archivo .cs, por lo que es bastante práctico de usar en cualquier tipo de proyecto C #.
Es compatible con todas las características de SQLite cuando se utilizan comandos SQL, y también es compatible con la mayoría de las características de SQLite a través de .NET:
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 habituales de ADO .NET con sqlite.
http://www.devart.com/dotconnect/sqlite/
dotConnect for 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 desarrollar aplicaciones de bases de datos basadas en SQLite. Como parte del marco de desarrollo de aplicaciones 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 para SQLite presenta nuevos enfoques para diseñar la arquitectura de la aplicación, aumenta la productividad y aprovecha la implementación de la aplicación de la base de datos.
Yo uso la versión estándar, funciona perfecto :)
Un contenedor básico de las funciones proporcionadas por la biblioteca sqlite. La última versión admite funciones proporcionadas por la biblioteca sqlite 3.7.10