2009-10-19 8 views
0

Existe-t-il des fournisseurs gratuits (gratuits) pour les bases de données MS SQL (MySQL ou SQLite par exemple) qui fonctionnent avec LINQ et prennent en charge la génération de requêtes SQL dynamiques? Par exemple. table.Count() génère quelque chose comme SELECT COUNT(*) FROM table et ne charge pas d'abord la table entière, puis compte les lignes.Dynamic LINQ avec d'autres bases de données

Répondre

2

Voici le projet DBLinq:http://code.google.com/p/dblinq2007/

DbLinq est le fournisseur LINQ qui permet d'utiliser des bases de données communes avec une API proche de LINQ to SQL. Il prend actuellement en charge (par ordre d'apparition): MySQL, Oracle, PostgreSQL, SQLite, Ingres, Firebird

Si ces fournisseurs exécutent Count() de la manière que vous décrivez dépend de la qualité du fournisseur, je suppose. On peut supposer que des efforts sont faits pour l'optimisation.

Voir aussi http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

+0

Il n'y a aucune indication sur la page DBLinq, si elle est stable, la dernière version date d'un an (bien que le SVN ait été mis à jour hier). S'il n'y a rien de mieux, je vais essayer ça. – svick

0

NHibernate soutient multiple databases et a un récemment publié Linq provider.

+1

Leur fournisseur LINQ semble être assez problématique, ils disent que la version 2 devrait être beaucoup mieux. – svick

1

Découvrez ADO.NET Entity Framework. Il prend en charge MySQL via les fournisseurs de données ADO.NET et LINQ to Entities (similaire à LINQ to SQL). En tant qu'outil Microsoft, il bénéficie d'une bonne intégration et prise en charge de Visual Studio. Pouvez-vous également expliquer pourquoi vous voulez soutenir ces bases de données?

+0

Vous n'avez pas répondu à ma question: est-ce que ces fournisseurs supportent la génération SQL dynamique? Je veux utiliser d'autres bases de données, car beaucoup d'hébergeurs ASP.NET gratuits (oui, je ne veux pas payer pour mes projets web personnels) fonctionnent sur Linux et Mono avec MySQL comme DB. – svick

+0

En regardant http://stackoverflow.com/questions/42212/how-can-i-use-linq-with-a-mysql-database-on-mono et la documentation (http://dev.mysql.com/ doc/refman/5.0/fr/connector-net.html) il semble que le connecteur MySQL/NET a le support LINQ et Mono. Entity Framework n'est cependant pas supporté par Mono (pour l'instant, voir http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic- query-library.aspx) ... – Ronald

+0

Le dernier lien devrait être: http://www.mono-project.com/EntityFramework – Ronald