Question

J'ai un projet sur lequel je travaille actuellement mais il ne prend actuellement en charge que le framework .net 2.0.J'adore Linq, mais à cause de la version du framework, je ne peux pas l'utiliser.Ce que je veux, ce n'est pas tant le côté ORM, mais la « capacité d'interrogation » (est-ce même un mot ?) de Linq.

Jusqu'à présent, le plus proche est llblgen mais s'il y avait quelque chose d'encore plus léger qui pourrait simplement faire l'interrogation à ma place, ce serait encore mieux.

j'ai aussi regardé NHiberner ce qui semble pouvoir faire ce que je veux, mais la courbe d'apprentissage est assez abrupte et les fichiers de cartographie ne m'excitent pas trop.

Si quelqu'un connaît quelque chose qui me donnera une interface de requête similaire à Linq (ou mieux encore, comment faire fonctionner Linq sur le framework .net 2.0), j'aimerais vraiment en entendre parler.

Était-ce utile?

La solution

Jetez un oeil à ceci:

http://www.albahari.com/nutshell/linqbridge.html

Linq représente plusieurs choses différentes, et je ne suis pas sûr à 100% des éléments que vous souhaitez, mais ce qui précède pourrait être utile d'une manière ou d'une autre.Si vous n'avez pas déjà de livre sur Linq (je suppose que ce n'est pas le cas), alors j'ai trouvé que "Linq In Action" était bon.

Autres conseils

Vous voudrez peut-être vérifier Subsonique.C'est un ORM qui utilise un modèle ActiveRecord.Je suis presque sûr que la plupart de ses fonctionnalités fonctionnent avec le .NET Framework 2.0.

Pour faire écho à ce que Lance a dit : le langage de requête SubSonic a une interface fluide qui n'est pas aussi jolie que LINQ, mais vous offre certains des avantages (vérification du temps de compilation, Intellisense, etc.).

LinqBridge fonctionne bien sous .NET 2.0 et vous obtenez toutes les extensions Linq et le langage de requête.Vous avez besoin de VS 2008 pour l'utiliser, mais vous le saviez déjà.

Cependant, Linq n'est pas un ORM.C'est une syntaxe de requête.Si vous souhaitez utiliser Linq pour interroger une base de données, vous aurez besoin de .NET 3.5.C'est parce que la version 2.0 ne fournit pas le mécanisme nécessaire pour convertir le code Linq vers votre langage de requête de base de données préféré.

En d’autres termes, si vous avez besoin d’un ORM, LinqBridge ne vous aidera pas.Vous devez consulter certaines des autres suggestions fournies.

Il existe un moyen de référencer LINQ dans le .NET Framework 2.0, mais je dois vous avertir que cela pourrait être contraire aux conditions d'utilisation/CLUF du framework :

LINQ sur le runtime .NET 2.0

Tout d'abord.Faire fonctionner Linq lui-même sur 2.0 est hors de question.C'est possible, mais ce n'est vraiment pas quelque chose à faire en dehors d'un environnement de test.

Le plus proche que vous puissiez obtenir en termes de partie ORM/Dynamic Querying est à mon humble avis SubSonic, que je recommanderai à toute personne coincée dans C# 2.0.

LinqBridge semble être un bon point de départ puisque j'ai VS2008, j'ai juste besoin de compiler et de déployer sur un serveur .net 2.0.

J'ai regardé SubSonic et c'est aussi une alternative intéressante, mais linqbridge semble offrir une adaptation beaucoup plus étroite, donc je n'aurai pas besoin d'apprendre une nouvelle syntaxe ORM/requête.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top