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

Framework .NET Discussion :

[LINQ] L'utilisez vous en entreprise ?


Sujet :

Framework .NET

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2005
    Messages : 63
    Points : 65
    Points
    65
    Par défaut [LINQ] L'utilisez vous en entreprise ?
    Bonjour,

    J'aurais aimé connaitre le niveau d'implantation de linq dans les projets actuellement.
    Personnellement, je n'ai entendu aucun projet démarrer avec linq.

    Donc si vous utilisez linq, quel est le domaine d'activité de l'entreprise, la durée du projet ?

    Merci
    L'eternité c'est long, surtout vers la fin

  2. #2
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Oui.

    Nous l'utilisons en projet interne sur une version 2.0 d'un logiciel à usage interne. Toute la couche d'accès aux données est écrite avec linq to Sql et nous utilisons pas de Linq To object aussi
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    moi sur un projet from scatch

    Quand on a le choix de la 3.5 pourquoi se priver

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    +1

    Utilisé pour des projets internes et externes dans la DAL
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  5. #5
    Expert éminent sénior

    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 : 45
    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
    Points : 12 465
    Points
    12 465
    Par défaut
    Pas de mon coté, vu que le passage a 2008 est encore dans les cartons...

    Mais des que c'est fait, la DAL va en prendre un vilain coup (vive linq to XML et linq to Sharepoint!!!)

    @SaumonAgile : tu as reussi a faire une belle DAL bien pensée, en linq to sql? Parce que de tout ce que j'ai vu trainer a droite a gauche, ca m'a l'air moyennement propre...

    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.

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    Citation Envoyé par pvialatte Voir le message
    Mais des que c'est fait, la DAL va en prendre un vilain coup (vive linq to XML et linq to Sharepoint!!!)
    Ah je connaissais pas, cela permet quoi ?

    Citation Envoyé par pvialatte Voir le message
    @SaumonAgile : tu as reussi a faire une belle DAL bien pensée, en linq to sql? Parce que de tout ce que j'ai vu trainer a droite a gauche, ca m'a l'air moyennement propre...
    Je suis dans les mêmes problématique en ce moment ... le context en lui même peut etre vu comme une sous partie de DAL je me demande si je vais par faire les selects dans ma couche BBL... Sinon y a les probleme de refresh/attach qui sont bien casse c... quand on sort du context ...

  7. #7
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Moi, quand ca pose pas de pb avec les clients, j'utilise LINQ To * dès que je le peux

  8. #8
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    En fait j'expérimente beaucoup en ce moment sur un projet en interne. J'essaie de trouver la meilleure solution.
    En fait je vais essayer de dégager des architectures différentes en fonction de la taille des projets.

    Je suis sur un projet de petite taille pour lequel le MPD est assez proche du MCD pour ne pas avoir à recréer une abstraction par dessus les objets de la DAL.
    La DAL et la BLL (ainsi que les entités) sont dans une même assembly. Le service WCF est une assembly séparée.
    La DAL est composée du dbml (généré en internal) avec les entités générées (en public) dans un namespace différent. Une méthode est ajoutée au context pour gérer des connection string différentes en fonction de l'environnement (DEBUG, TEST, PROD).
    La BLL se sert du contexte pour manipuler les données. La validation est faite d'un mélange de EL 4.0 Validation Block + PostSharp.

    Le service WCF se sert de PostSharp pour toute la gestion des exceptions.

    Voila mon ébauche d'architecture pour un projet de taille réduite (moins de 70 entités)
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  9. #9
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2005
    Messages : 63
    Points : 65
    Points
    65
    Par défaut
    Je souhaitais tâter le terrain avant de quitter ma mission en septembre/octobre car le fait de travailler sur les nouveautés de C# 3 et du framework 3.5 pour la prochaine mission serait un gros plus.
    Merci pour vos réponses.
    L'eternité c'est long, surtout vers la fin

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    En fait j'expérimente beaucoup en ce moment sur un projet en interne. J'essaie de trouver la meilleure solution.
    En fait je vais essayer de dégager des architectures différentes en fonction de la taille des projets.

    Je suis sur un projet de petite taille pour lequel le MPD est assez proche du MCD pour ne pas avoir à recréer une abstraction par dessus les objets de la DAL.
    La DAL et la BLL (ainsi que les entités) sont dans une même assembly. Le service WCF est une assembly séparée.
    La DAL est composée du dbml (généré en internal) avec les entités générées (en public) dans un namespace différent. Une méthode est ajoutée au context pour gérer des connection string différentes en fonction de l'environnement (DEBUG, TEST, PROD).
    La BLL se sert du contexte pour manipuler les données. La validation est faite d'un mélange de EL 4.0 Validation Block + PostSharp.

    Le service WCF se sert de PostSharp pour toute la gestion des exceptions.

    Voila mon ébauche d'architecture pour un projet de taille réduite (moins de 70 entités)
    En fait ta DAL est uniquement Le DataContext ?

  11. #11
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    En fait j'expérimente beaucoup en ce moment sur un projet en interne. J'essaie de trouver la meilleure solution.
    En fait je vais essayer de dégager des architectures différentes en fonction de la taille des projets.

    Je suis sur un projet de petite taille pour lequel le MPD est assez proche du MCD pour ne pas avoir à recréer une abstraction par dessus les objets de la DAL.
    La DAL et la BLL (ainsi que les entités) sont dans une même assembly. Le service WCF est une assembly séparée.
    La DAL est composée du dbml (généré en internal) avec les entités générées (en public) dans un namespace différent. Une méthode est ajoutée au context pour gérer des connection string différentes en fonction de l'environnement (DEBUG, TEST, PROD).
    La BLL se sert du contexte pour manipuler les données. La validation est faite d'un mélange de EL 4.0 Validation Block + PostSharp.

    Le service WCF se sert de PostSharp pour toute la gestion des exceptions.

    Voila mon ébauche d'architecture pour un projet de taille réduite (moins de 70 entités)
    Bonjour,

    Je voulais savoir quand tu parle d'entités ici, c'est bien dans le sens de EF ?
    Quand tu dis "Les entités générées" elles sont générées par l'utilisation d'EDM ? Ou par un outil de génération de code ?
    Sinon dernière question lol, quel est l'intérêt de mettre la DAL et la BLL dans un même assembly (ta réponse peut être effectivement quel est l'intérêt de les séparées lol).

    Merci d'avance pour tes réponses (vos réponses).
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  12. #12
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par rad_hass Voir le message
    Bonjour,

    Je voulais savoir quand tu parle d'entités ici, c'est bien dans le sens de EF ?
    Quand tu dis "Les entités générées" elles sont générées par l'utilisation d'EDM ? Ou par un outil de génération de code ?
    Sinon dernière question lol, quel est l'intérêt de mettre la DAL et la BLL dans un même assembly (ta réponse peut être effectivement quel est l'intérêt de les séparées lol).
    Je parle des entités LINQ to SQL générées à partir du dbml.
    Je mets la DAL et la BLL dans la même assembly pour pouvoir rendre publiques mes entités et rendre internal le datacontext. Le context est donc accessible à la BLL tout en n'étant pas visible de l'extérieur de l'assembly.
    De plus, la séparation logique des couches est tout à fait suffisante dans mon cas, je n'ai pas besoin de séparation physique (assemblies séparées).
    Je pourrais séparer les couches dans des assemblies séparées si sqlmetal était capable de générer le context et les entités dans des fichiers séparés.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  13. #13
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Je parle des entités LINQ to SQL générées à partir du dbml.
    Je mets la DAL et la BLL dans la même assembly pour pouvoir rendre publiques mes entités et rendre internal le datacontext. Le context est donc accessible à la BLL tout en n'étant pas visible de l'extérieur de l'assembly.
    De plus, la séparation logique des couches est tout à fait suffisante dans mon cas, je n'ai pas besoin de séparation physique (assemblies séparées).
    Je pourrais séparer les couches dans des assemblies séparées si sqlmetal était capable de générer le context et les entités dans des fichiers séparés.
    merci pour cette reponse complete
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  14. #14
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 202
    Points
    2 202
    Par défaut
    Linq to SQL et EF : No hope
    Ce sont des produits trop immatures, avec en plus une stratégie à moyen terme plus que flou.

    Concernant le reste, Linq to Object oui, quoique nous ayons pu avoir quelques surprises.

    Sachant qu'à priori nous avons un dal de plus de 600 entités et le double en business, une bonne cible à 2000~2500 services; une couche WCF / Remoting.

    La récursivité est un sujet suffisamment critique pour nous pour que nous ayons abandonné depuis longtemps la croyance de l'ORM magique.

    Linq et EF donne un contrôle plus que limité sur leur comportement (probablement la jeunesse) et finalement, l'usage de linq pour SQL est très dangereux dans certains cas.

    EF en outre n'utilises pas de POCO, ce qui est un inconvénient majeur (comme d'autres outils), a une vision du chargement différé qui est tellement propriétaire qu'elle en devient incontrôlable, il y a un manque de support de DB diverses; et pire que tout; ca reste orienté relationnel.
    Et dans une logique d'application d'entreprise à haute disponibilité,ces deux sous ensembles du FMWK sont pitoyables sur les aspects distribution.

  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 : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    Citation Envoyé par B.AF Voir le message
    Linq to SQL et EF : No hope
    Ce sont des produits trop immatures, avec en plus une stratégie à moyen terme plus que flou.
    Microsoft a quand même annoncé que pour .Net 4 EF sera LA solution d'accès aux données mis en avant par rapport aux autres, donc je pense que niveau moyen et long terme c'est assez clair !

  16. #16
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 202
    Points
    2 202
    Par défaut
    Peut être, j'ai aussi tenu de long débats sur ce sujet avec Franz Bouma (autheur de LLBL).

    D'un point de vue marketing EF est fabuleux,
    D'un point de vue purement ORM, EF est un vide intersidéral.

    Microsoft peut annoncer en tant qu'éditeur, l'adoption et la maturité d'un outil en sont d'autres.

    Une fois de plus, les utilisateurs vont subir les aléas d'une conception ne tenant pas compte de la communauté (à quand l'EJB en .NET, ca aiderait.)

    ADO.NET Data Services ? Linq to SQL ? ADO VNext ????

    Ca s'éparpille dans des produits immatures qui font des démos sur northwind.
    Je ne vois pas en quoi savoir que microsoft à (peut être) les idées claires sur sa politique d'accès aux données va faire avancer l'adoption aujourd'hui del a technologie.

    Malheureusement, les projets ne vont pas attendre 3 ou 4 ans que la techno soit prête ou que Microsoft arrête de faire du Buzz sur l'accès aux données.

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    Pour l'absence de poco je comprend que ce soit dommage surtout lorsqu'on a une architecture de 600 entités en place mais bon de la a dire que c'est un vide intersideral, il ne faut pas abuser ...

    Le support des DB? EF est sortie en prod il y a uniquement un mois, les provider tiers sont en train d être écrit et certains sont finalisé voir gratuit dans certain cas ...

    Pac contre je ne comprend pas ce que tu veux dire par orienté relationnel ? on a bien un mapping objet ... si tu parle de l'utilisation de linq par dessus personnellement je trouve que c'est un gros plus d'un point de vue lisibilité et productivité vis a vis de solution comme le HQL...

    pour les EJB en .net j'espère que tu blagues ...

    pour moi il manque 2 truc pour que ce soit le top c'est les poco et lazyloading mais bon ce n'est pas pour cela que nous avons un produit d'un vide intersidéral ...

    Ces fonctionnalités seront intégré dans la V2 apres peut etre aurait tu préféré qu'ils sortent la V2 en premier mais bon la cela permet une migration et formations en douceur...

  18. #18
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    Je pense qu'attendre qu'un produit soit parfais (ou mature) dés la V1 c'est d'un optimisme exemplaire lol, d'ailleurs on peut constater que les EJB ont fait beaucoup de chemin depuis la V1 (de plus on est à la V3 et le produit est encore critiqué) ...
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  19. #19
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 202
    Points
    2 202
    Par défaut
    "Je pense qu'attendre qu'un produit soit parfais (ou mature) dés la V1 c'est d'un optimisme exemplaire lol, d'ailleurs on peut constater que les EJB ont fait beaucoup de chemin depuis la V1 (de plus on est à la V3 et le produit est encore critiqué) ... "

    A partir du moment ou un éditeur pose dans son offre une fonctionnalité dite de niveau "entreprise", c'est lui qui fait le choix de la cosidérer aboutie et répondant au besoin de ses clients. EF est dans 2008 SP1.

    Quant aux EJB ,l'exemple est plutôt à prendre dans le fait que la communauté puisse plus ou moins bien influer sur l'évolution du framework que d'attendre les yeux brillants le fruit de la créativité d'un éditeur.

    Et sur la critique des EJB, on sera hors contexte ici puisqu'il faudrait surtout faire le débat de l'existence des "développeurs" et "programmeurs". Ceux qui font et ceux qui attendent que les autres fassent pour s'en servir.

  20. #20
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    Citation Envoyé par B.AF Voir le message
    A partir du moment ou un éditeur pose dans son offre une fonctionnalité dite de niveau "entreprise", c'est lui qui fait le choix de la cosidérer aboutie et répondant au besoin de ses clients. EF est dans 2008 SP1.
    Je comprends tout à fait ton point de vue et je pense que y a du vrai dans ce que tu dis, mais néanmoins tu ne penses pas que si un produit réponds de 70 à 80% des besoins projets (et réponds moins bien au projet les plus pointue et les plus complexes), 3 mois seulement après sa sortie je pense que c'est une technologie prometteuse ... Non un vide intersidéral lol

    Et je ne pense pas que la communauté .NET ne soit si ignoré que tu le suggère, il est vrai que Microsoft a encore des efforts à faire, mais je pense que le poids de la communauté est de plus en plus présent ...
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

Discussions similaires

  1. Réponses: 22
    Dernier message: 20/12/2011, 14h38
  2. Réponses: 28
    Dernier message: 19/10/2009, 17h26
  3. Réponses: 36
    Dernier message: 06/10/2009, 15h57
  4. Quel proxy d'entreprise Maven 2 utilisez-vous?
    Par denisC dans le forum Maven
    Réponses: 18
    Dernier message: 31/07/2009, 13h37

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