IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linq Discussion :

Linq to sql : Avis


Sujet :

Linq

  1. #1
    Membre confirmé Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Par défaut Linq to sql : Avis
    Salut
    Source: http://fr.wikipedia.org/wiki/Language_Integrated_Query

    En bref, c'est un langage qui permet la "convertion" des tables d'une BD en objets "classes", ce qui nous permet d'utiliser l'objet plus une syntaxe linq to sql proche du sql au lieu d'instructions sql pures.

    Que pensez vous de linq to sql ?

    Merci

  2. #2
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Salut,

    En bref, c'est un langage qui permet la "convertion" des tables d'une BD en objets "classes", ce qui nous permet d'utiliser l'objet plus une syntaxe linq to sql proche du sql au lieu d'instructions sql pures.
    Euh, oui, si on veut, et si on réduit le scope à linq to sql.

    Que pensez vous de linq to sql ?
    Que c'était très bien en 2008...pour faire une démo

    Bon, plus sérieusement, si:
    - l'appli est simple
    - la base de données est SQL Server

    Linq To SQL est très bien...sauf que, par expérience, sur la durée de vie d'un projet, une appli reste rarement "simple", et que, sur la durée de vie d'une société, dire que la base de données est et restera sql server ne se vérifie pas forcément

    Donc, personnellement, j’évite Linq To SQL comme la peste

    Par contre, Linq to NHibernate, Subsonic 3, EF, ou autre, pourquoi pas

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Par défaut
    Beaucoup de sociétés utilisent linq to sql comme outil pour éditer les logiciels.
    Ils peut y avoir des logiciels trop complexe dans leurs utilisation mais très simple dans leurs éditions surtout avec linq to sql ainsi que d'autre solutions.

    Encore faut il savoir utiliser cet outil avec intelligence et surtout ne pas sous-estimer et oublier le langage sql qui reste un langage phare et standart

  4. #4
    Membre confirmé Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Par défaut
    Il faut aussi se mefier de la couche abstraite qui gere la dite "conversion" par le moteur!

  5. #5
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    LINQ TO SQL est 'obsolète', voyez LINQ TO ENTITIES...

    En tant que dba... je préfère un bon vieil ADO.NET plus performant que n'importe quel ORM type Linq TO ENTITIES ou NHIBERNATE...

    C'est malgré tout un bon outil... s'il est bien utilisé par les développeurs mais là c'est une autre histoire

  6. #6
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Franchement, je n'aime pas les ORM, il est difficile de faire des applications performantes avec les ORM, ce sont des outils bien pour faire un programme rapide afin de livrer une application dans les delais, pour ceux qui ont la maîtrise d'ADO.Net et du language SQL, un ORM risque d'être une mauvaise solution pour un projet sérieux.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  7. #7
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Citation Envoyé par WOLO Laurent Voir le message
    Franchement, je n'aime pas les ORM, il est difficile de faire des applications performantes avec les ORM, ce sont des outils bien pour faire un programme rapide afin de livrer une application dans les delais, pour ceux qui ont la maîtrise d'ADO.Net et du language SQL, un ORM risque d'être une mauvaise solution pour un projet sérieux.
    On ne va pas nourrir le troll sur les ORM, mais c'est clairement un point de désaccord entre développeurs et DBAs.

    Personnellement, je n'ai pas de pb avec mon DBA parce que:
    - j'utilise des ORM pour des fonctionnalités qui sont "simple" (CRUD + des requetes avec 3 jointures max)
    - je profile mes applications avant la mise en prod

    Si un développeur code en SQL comme un pied, ou avec un ORM comme un pied, le résultat sera de toute façon désastreux, alors...

    Aprés, je ne sais pas ou tu places le curseur d'un projet sérieux, mais comme j'ai rarement vu mes clients au festival du rire

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  8. #8
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    je ne sais pas ou tu places le curseur d'un projet sérieux, mais comme j'ai rarement vu mes clients au festival du rire

  9. #9
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Je crois que nous n'allons pas faire un débat sur les ORM versus le code SQL.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  10. #10
    Membre confirmé Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Par défaut
    Citation Envoyé par WOLO Laurent Voir le message
    Je crois que nous n'allons pas faire un débat sur les ORM versus le code SQL.
    Et pourquoi pas !

    En plus, le développement informatique évolue quotidiennement afin de procurer au développeurs des solutions ingénieuses et plus approprié au développeurs pour faire des applications ingénieuses. C'est comme l’évolution du langage d'instructions (C & co) vers langage objet . Toutefois,les ORMs ne sont pas propres qu'aux developpeurs puisqu'ils utilisent un langage proche de celui de sql . L'important n'est pas sql en lui meme, car en dehors de la rivalité entre développeurs et DBAs , que ce soit l'un ou l'autre, ce qui compte c'est l'informaticien , cet etre qui est capable de créer des programmes avec du code que nul autre ne peut comprendre que ce soit sql ou langage de programmation .
    Faisant abstraction au domaine informatique, le resultat final s'avere le plus important à l'oeil de l'utilisateur: "l'objectif principale et la raison d'etre d'un developpeur".
    En fin de compte, les developpeurs et les DBAs sont complementaires pour developper une application complete et performante.

  11. #11
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Le developpeur voudra utiliser un ORM pour aller vite tandis qu'un DBA souhaiterait contrôller le code SQl générer. J'avoue qu'il faut un developpeur avec suffisamment d'expérience en SQL pour tirer meilleur parti d'un ORM sachant qu'il pourra toujours dévier les pitfalls engendrer par la mauvaise utilisation d'un ORM.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  12. #12
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Citation Envoyé par WOLO Laurent Voir le message
    Le developpeur voudra utiliser un ORM pour aller vite tandis qu'un DBA souhaiterait contrôller le code SQl générer. J'avoue qu'il faut un developpeur avec suffisamment d'expérience en SQL pour tirer meilleur parti d'un ORM sachant qu'il pourra toujours dévier les pitfalls engendrer par la mauvaise utilisation d'un ORM.
    A fool with a tool is still a fool!

  13. #13
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Citation Envoyé par Nathanael Marchand Voir le message
    A fool with a tool is still a fool!
    A fool without a tool is a toolless fool

    Citation Envoyé par WOLO Laurent Voir le message
    il faut un developpeur avec suffisamment d'expérience en SQL pour tirer meilleur parti d'un ORM sachant qu'il pourra toujours dévier les pitfalls engendrer par la mauvaise utilisation d'un ORM.
    Oui, tout à fait d'accord sur ton point.

    De toute façon, un développeur qui ne maitrise pas les bases du SQL (et quand je dis les bases, c'est quelqu'un qui connait la différence entre 3NF et FNBC, avec incluant des notions de tuning de requête) ira droit dans le mur quand on lui demandera de produire une procédure stockée modérément complexe, donc c'est le serpent qui se mord la queue...

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  14. #14
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    En fait, je souhaite surtout attirer l'attention sur le fait qu'il faut faire attention avec la publicité, la réalité c'est à dire la pratique peut être une autre histoire.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  15. #15
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    Les ORM, comme le SQL sont des outils que l'on maitrise ... Ou pas.

    On avait un énorme graphe d'objet dans une application stocké sur 3 tables.
    Un colegue "à l'ancienne" (qui fait partie de ceux qui critiques les perfs des ORM sans réellement comprendre le fonctionnement) avait une requête procstock pour charger tout ça (avec 2 left outer join entre les tables).
    La requete mettait 8 s à s'éxécuter.

    J’ai refait la requête pour charger les même données en EntityFramework et j'ai pu charger les mêmes données en moins d'une seconde.

    EntityFramework et (la plupart) d'autres framework ORM sont très performant ... Quand on sait les utiliser.

  16. #16
    Membre confirmé Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Par défaut
    Citation Envoyé par anthyme Voir le message
    Les ORM, comme le SQL sont des outils que l'on maitrise ... Ou pas.

    On avait un énorme graphe d'objet dans une application stocké sur 3 tables.
    Un colegue "à l'ancienne" (qui fait partie de ceux qui critiques les perfs des ORM sans réellement comprendre le fonctionnement) avait une requête procstock pour charger tout ça (avec 2 left outer join entre les tables).
    La requete mettait 8 s à s'éxécuter.

    J’ai refait la requête pour charger les même données en EntityFramework et j'ai pu charger les mêmes données en moins d'une seconde.

    EntityFramework comme (la plupart) d'autres framework ORM sont très performant ... Quand on sait les utiliser.
    Bien dis !
    Il ne faut pas considérer le sql comme un monstre quand même !

  17. #17
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    En théorie, vous ne pouvez normalement pas faire plus rapide via un ORM que via SQL Directement puis que l'ORM doit faire de la traduction en SQL sans oublier les pars avant d'envoyer le code chez SGBDR, le problème c'est alors ton collègue qui était fatigué ce jour là, mais je reprécise que vous ne pouvez pas faire plus rapide, essayez donc de m'en faire la démonstration si je me trompe.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  18. #18
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    Moi je parle pas de théorie, je parle de pratique, de pragmatisme.
    Certes les ORM génère du sql mais ce sql est optimisé et on peut faire plus facilement des choses qui serait compliqué. De plus un "mauvais loading" est facile a trouver et a optimiser.

    Et je ne parle pas des applications qui se contente de faire les procs stock (tt de même chiante a maintenir) CRUD avec GetAll et GetById et ensuite font des centaine d'appels pour loader les objets.

    Je ne dis pas que je ferrais une requête avec un orm plus rapide qu'une procstock optimisé pour une fonctionnalité bien précise réalisé par un expert DBA .

    je parle juste d'efficacité, de pragmatisme et de productivité et si ces éléments n'était pas les plus essentiel dans l'informatique on serait encore tous à l'assembleur.

  19. #19
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Je crois que nous n'allons pas faire un débat sur les ORM versus le code SQL
    Daccord... sujet maintes fois débattu sur DEV.COM....

    L'idéal: de bons développeurs avec de bons DBA...
    L'ORM est un plus certains pour la productivité et peu amener de très bon résultats également même si la perte est ineluctable (si c'est bien fait ce n'est pas énorme) et ne sera pas sensible sur 90 % des appli des gestions...

  20. #20
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Citation Envoyé par anthyme
    Moi je parle pas de théorie, je parle de pratique, de pragmatisme.
    C'est pour cette raison que j'ai demandé une démonstration pour parler pratique.
    Citation Envoyé par anthyme
    Certes les ORM génère du sql mais ce sql est optimisé et on peut faire plus facilement des choses qui serait compliqué. De plus un "mauvais loading" est facile a trouver et a optimiser.
    Plus facilement des choses pour qui serait compliqué pour qui ?
    Citation Envoyé par anthyme
    Je ne dis pas que je ferrais une requête avec un orm plus rapide qu'une procstock optimisé pour une fonctionnalité bien précise réalisé par un expert DBA .
    Plus 1 pour toi, je suis vraiment d'accord avec toi sur ce point.

    Citation Envoyé par anthyme
    je parle juste d'efficacité, de pragmatisme et de productivité et si ces éléments n'était pas les plus essentiel dans l'informatique on serait encore tous à l'assembleur.
    Je voudrais tout de même te rappeler que l'ASSEMBLEUR n'est pas abondonné, certaines routine critiques des logiciels et exigants en terme de perf et de consommation de memoire sont écrites en assembleur.
    C'est simplement, que depuis que les mémoires et les CPU sont devenues très très bons marchés que nous pouvons nous amuser avec tout et sur tout.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

Discussions similaires

  1. Réponses: 7
    Dernier message: 19/02/2008, 14h14
  2. [Linq 2 SQL] Problème de modélisation
    Par tomlev dans le forum Accès aux données
    Réponses: 5
    Dernier message: 12/02/2008, 23h29
  3. [Linq to sql] db.add() ?
    Par telynette dans le forum Accès aux données
    Réponses: 2
    Dernier message: 08/02/2008, 19h54
  4. [Linq to SQL] Refresh du dbml
    Par zeavan dans le forum Visual Studio
    Réponses: 5
    Dernier message: 02/01/2008, 10h15
  5. [SQL] [Avis] - Xml ou SQL pour afficher 15 petites news ?
    Par ShinJava dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 23/03/2006, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo