SQLite3 en C # .NET

Estoy tratando de usar SQLite3 en C # .NET. He buscado en Google y he encontrado algunas API diferentes. También revisé el sitio web de SQLite para las envolturas. Me gustan, pero quiero escribir mi propio envoltorio sin usar una dependencia adicional. Todos los envoltorios que encuentro que no requieren una dependencia adicional no son gratuitos.

Me pregunto cómo se leería, ejecutaría y escribiría en una base de datos sqlite3. ¿Es una conexión de socket (tcp? Udp? Etc?)? He intentado buscar esta respuesta en google y todo lo que recibo son respuestas específicas de la biblioteca. : / Los documentos del sitio web de SQLite tampoco son de mucha ayuda.

EDITAR: También encontré una interfaz COM mientras buscaba en Google, pero ¿esa biblioteca es específica?

¡Gracias! 🙂

¿Has mirado la biblioteca System.Data.SQLite ? Es una biblioteca gratuita de ADO.NET para interactuar con SQLite y no requiere nada más para ejecutarse, ya que tiene el motor incorporado.

Lo he estado usando por un tiempo y me resulta muy fácil trabajar con él. Incluso tiene un complemento para Visual Studio en caso de que decida usar algunas tablas fuertemente tipadas con él o quiera usarlo para agregar / crear tablas.

(Respondiendo a la pregunta de “conexión de socket”.)

Parte del punto de SQLite es que es una base de datos integrada: no hay un servidor con el que hablar, carga la biblioteca directamente en su proceso y se comunica directamente con el sistema de archivos.

Si desea utilizar SQLite en .NET, debería echar un vistazo a System.Data.SQLite , que es un proveedor de ADO.NET para SQLite.

System.Data.SQLite es comparativamente más lento que otros proveedores como SqlClient. He mirado en su código.

Ahora quiero llamarlo lanzar P / Invoke pero no como proveedor de SQLite. Llame a través de P / Invocar cada vez que acceda a un valor de columna a través de DataReader