2008-10-30 12 views
57

Tengo un pequeño proyecto que requiere un almacenamiento (elijo SQLite) y obtuve un buen resultado con el ADO DLL for .Net for Sqlite.LINQ con SQLite (linqtosql)

Después de la instalación, me di cuenta de que contiene un SQLLinq.dll. Antes de investigar demasiado esfuerzo, y porque no he visto ningún buen ejemplo en la web, me gustaría saber si alguien obtuvo algún buen resultado con SQLite y LINQ.

* Si linqtosql funciona de la misma manera que en la base de datos SQL, avíseme. Era interesante con el Dll cuando lo vi porque nunca utilicé Linqtosql y pensé que sería una gran oportunidad para probar,

Respuesta

49

he descubierto recientemente DBLinq, que soporta SQLite entre otras DB:

+0

esta debería ser la respuesta, es el único SQLQ LINQ <-> que he encontrado que se ve bien – jcollum

+2

Excepto que todavía está en CTP. – jcollum

+0

Es el único proveedor de LINQ to SQL para bases de datos que no sean SQLServer que he encontrado –

3

Esta no es una respuesta a su pregunta como tal, pero como alternativa, podría hacerlo utilizar SQL compacto:

http://www.microsoft.com/Sqlserver/2005/en/us/compact.aspx

que tiene un buen soporte LINQ a SQL, y (a pesar del nombre) es ideal para aplicaciones de escritorio con los requisitos de almacenamiento pequeños.

+1

+1 Mantendré Sqlite pero me aprenderá algo nuevo con Compact. –

+0

Que tiene una nueva versión (2008) http://www.microsoft.com/sqlserver/2008/en/us/compact.aspx –

+0

Gracias por esto, nunca lo había visto antes. –

8

LINQ to SQL solo es compatible con SQL Server/Compact; sin embargo, es posible que las personas de SQLite hayan escrito su propio proveedor de LINQ dado el nombre del ensamblado.

Si ese fuera el caso, podría utilizar la sintaxis de la consulta LINQ agregando una referencia, pero no obtendría características específicas de LINQ to SQL como DataContext/designer/SQL Metal/Column attributes/EntitySet/EntityRef etc.

+0

Bien, gracias por la información. ¡Te marcaré como respuesta si al final del día nadie tiene una mejor respuesta! +1 –

10

Desde mi propia experiencia, Microsoft SQL Compact Framework es un REAL NO-GO. Es realmente lento y su Analizador de consultas es realmente pobre. Tuve que pedirle a mi equipo que reescribiera todo el código de fontanería de mi componente Windows Mobile para deshacerse de las terribles prestaciones de SQL CE.

+2

I 100% de acuerdo --- CE es un pedazo de basura ... por lo tanto, ¿por qué estoy buscando una alternativa (SqlLite)? No me digas por qué es tan malo ... . simplemente no lo use en ningún tipo de entorno multi-hilo de alto volumen. – TravisWhidden

0

Desde DBLinq ya no se mantiene, seguí buscando y encontré this answer qué tipo de forma poco clara apunta a una solución utilizando LINQ to SQL, Entity Framework, y SQLite. El blog post al que está vinculado está un poco desactualizado, pero con algunos ajustes obtuve un working example up en GitHub.

Debe ejecutar OOTB en Visual Studio 2013. Muestra la adición de un registro (con registro relacionado en otra tabla), modificar y eliminar. Las clases de Artista y Álbum representan registros en sus respectivas tablas (creo que son parte del Marco de la Entidad). Consulte el archivo Léame para ver algunos puntos a tener en cuenta.