2008-12-04 5 views
1

J'entends beaucoup de rumeurs selon lesquelles Linq2Sql ne sera plus supporté dans la prochaine version de .net. J'aime beaucoup Linq2Sql et je le trouve très facile/léger à travailler. Je peux comprendre certains des problèmes que les gens ont eu avec (ppl utilisé pour nhibernate ...) mais utilisé correctement je pense que la plupart des problèmes peuvent être résolus. Je l'utilise actuellement dans tous mes projets maintenant et je détesterais voir qu'il ne sera plus supporté.linq2sql désavantages

liste donc les disadvantes que vous voyez avec Linq2Sql

Répondre

0

En premier lieu, les gens perdent intérêt pour elle car il ne sera pas développé plus loin, et Entity Framework avancera à la place.

LinqToSQl fonctionne et est agréable à utiliser, mais EF le dépassera tôt ou tard. Les puristes d'ORM préféreraient qu'il soit plus facile de configurer LINQ à Sql pour utiliser un modèle d'objet externe à la couche de données LINQ to SQL. Cela peut être fait dans Linq to SQl, mais c'est un processus manuel qui est loin de la configuration par défaut.

1

LINQ to SQL peut certainement être corrigé. Mais tant que l'équipe ADO.NET en est responsable, j'en doute sérieusement.

S'il est ouvert, je pense que ce sera une force avec laquelle il faut compter. Mais en l'état, c'est une technologie en train de mourir.

5

S'il y avait une autre version de LINQ to SQL, voici ma fonction liste:

choses que je voulait vraiment tout construire mon dernier projet LINQ to SQL (et a dû travailler autour manuellement dans la plupart des cas)

  1. plusieurs-plusieurs
  2. meilleur concepteur visuel (y compris une fonction "table rafraîchissement")
  3. de contrôle de suppression en cascade/mise à jour/SET NULL qui ne nécessite pas de piratage XML
  4. Mappages spécifiques pour les comparaisons de culture/chaîne dans les instructions SQL COLLATE (par ex. en précisant si les mots de passe doivent être sensibles à la casse ou non, plutôt que de compter sur le classement par défaut de la base de données sous-jacente)

choses que je pourrais avoir besoin, mais ne l'ai pas fait encore nécessaire.

  1. Prise en charge de l'ordre collections (listes persistantes dans la base de données afin qu'elles soient récupérées automatiquement dans le même ordre qu'elles ont été conservées)
+0

Je suis d'accord sur le point 2. Sur le point 1 je le vois comme une belle caractéristique d'avoir comme il est assez facile à contourner. Je préfère réellement avoir un mappage 1: 1 entre la base de données mon schéma ORM. J'ai vu le ppl abuser d'hiberner et créé toutes sortes de mappages exotiques et presque perdu le contrôle sur le trafic de données – terjetyl

+0

Re. # 2 - "refresh table" - J'ai écrit un add-in pour ça.Vous pouvez le télécharger et obtenir une licence d'évaluation gratuite de 30 jours sur http://www.huagati.com/dbmltools/ – KristoferA

0

L'un des plus gros inconvénients de L2S est qu'il est très compliqué de l'utiliser dans des scénarios déconnectés; envoyer une version sérialisée d'une entité à une autre et essayer de "fusionner"/mettre à jour quand vous l'avez récupéré et vous verrez ses défauts. Si la fonctionnalité .Attach() avait fonctionné pour de tels scénarios, L2S aurait été plutôt sympa.

--larsw

Questions connexes