web-dev-qa-db-fra.com

LINQ avec SQLite (linq à sql)

J'ai un petit projet qui nécessite un stockage (je choisis SQLite) et j'ai obtenu de bons résultats avec le ADO DLL pour .Net pour Sqlite .

Après l'installation, j'ai remarqué qu'il contient un SQLLinq.dll. Avant d'enquêter sur trop d'efforts, et parce que je n'ai pas vu de bon exemple sur le web, je voudrais savoir si quelqu'un a obtenu de bons résultats avec SQLite et LINQ?

* Si linqtosql fonctionne de la même manière que la base de données SQL, faites-le moi savoir. J'étais intéressant avec la DLL quand je l'ai vu car je n'ai jamais utilisé Linqtosql auparavant et j'ai pensé que ce serait une excellente occasion d'essayer,

57
Patrick Desjardins

J'ai récemment découvert DBLinq , qui prend en charge SQLite entre autres DB:

49
Ricardo Amores

D'après ma propre expérience, Microsoft SQL Compact Framework est un VRAI NON-GO. Il est VRAIMENT FREAKING lent et son analyseur de requêtes est vraiment très pauvre. J'ai dû demander à mon équipe de réécrire tout le code de plomberie de mon composant Windows Mobile pour se débarrasser des terribles performances de SQL CE.

10
fmarceau

LINQ to SQL ne prend en charge que SQL Server/Compact, mais il est possible que les personnes SQLite aient écrit leur propre fournisseur LINQ en fonction du nom de l'assembly.

Si tel est le cas, vous pourriez utiliser la syntaxe de requête LINQ en y ajoutant une référence mais vous n'obtiendrez pas de fonctionnalités spécifiques à LINQ to SQL telles que les attributs DataContext/designer/SQL Metal/Column/EntitySet/EntityRef etc.

8
DamienG

Je sais que cette question est ancienne, mais pour le moment, je pense que nous pouvons trouver une implémentation officielle du support SQLite pour .NET ici: http://system.data.sqlite.org/index.html/doc/ trunk/www/index.wiki . Un bon article d'introduction doit être trouvé ici: http://www.codeproject.com/Articles/236918/Using-SQLite-embedded-database-with-entity-framewo

4
swdev

Ce n'est pas une réponse à votre question en tant que telle, mais comme alternative, vous pouvez utiliser SQL Compact:

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

Qui a une bonne prise en charge LINQ-to-SQL et (malgré son nom) est idéal pour les applications de bureau avec de petits besoins de stockage.

3
stusmith

Il existe un package sur NuGet appelé "LINQ to SQLite". Je ne l'ai pas essayé, mais il semble frais.

https://www.nuget.org/packages/linq2db.SQLite/

2
DenNukem

c'est un bon linq à sqlite ..

http://www.devart.com/dotconnect/sqlite/

1
Matt Peters

Avec EntityFramework 7, la prise en charge de SqLite s'est améliorée et il est possible d'utiliser les EntityFramework.Commands pour créer des migrations. Voici un tutoriel:

https://xamlbrewer.wordpress.com/2016/06/01/getting-started-with-sqlite-and-entity-framework-on-uwp/

Comme condition préalable, au moins PowerShell3 doit être installé.

1
Stefan

Étant donné que DBLinq n'est plus maintenu, j'ai continué à chercher et à trouver cette réponse qui pointe de manière peu claire vers une solution utilisant Linq to Sql, Entity Framework et SQLite. Le article de blog auquel il renvoie est un peu dépassé, mais avec quelques ajustements, j'ai eu un exemple de travail en place sur GitHub.

Il doit s'exécuter OOTB dans Visual Studio 2013. Il montre l'ajout d'un enregistrement (avec l'enregistrement associé dans une autre table), sa modification et sa suppression. Les classes Artist et Album représentent les enregistrements dans leurs tables respectives (partie du Entity Framework, je crois.) Voir le fichier Lisez-moi pour quelques trucs à surveiller.

0
Vimes