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 :

Questions à propos de Linq (données SQL et XML)


Sujet :

Linq

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Par défaut Questions à propos de Linq (données SQL et XML)
    Bonjour,

    je m'intéresse à LINQ et m'interroge sur son intérêt réel.

    J'ai un cas pour lequel LINQ pourrait sérieusement m'intéresser. Si un connaisseur peut me dire si je me trompe ou pas :

    je voudrai qu'une même application soit utilisable sur pocket PC et sur PC. Sur le pocket, elle stockerait ses données dans un fichier XML. Sur un PC fixe, dans une base de données plus traditionnelle (pgSQL).

    Est-il possible, grâce à LINQ, de mapper ces deux représentations (XML et relationnel) dans deux classes, par exemple. Puis, dans l'application, d'essayer la classe relationnelle (SQL). Si celle-ci ne fonctionne pas, d'utiliser la classe XML.
    Et dans tout le reste de l'application, travailler avec mon modèle de données "abstrait" sans me soucier du fait que derrière, c'est du XML ou du SQL ?

    J'ai cherché des tutoriaux sur le sujet et je trouve qu'il y en a encore assez peu qui entre réellement dans le détail. On trouve des exemples bateaux qui sont plus une présentation de linq qu'une réelle explication d'emploi.

    Si vous avez de bon liens, je suis preneur et je suis sur que je ne suis pas le seul

    Bonne journée

  2. #2
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    A te place, je placerais une couche d'abstraction entre l'application et l'accès aux données. Cette couche gérerait le choix entre SQL et XML sans que l'application n'ait à s'en soucier.

    Après, Linq, ce n'est qu'un O/R mapper...

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par neptune Voir le message
    Après, Linq, ce n'est qu'un O/R mapper...
    Pas tout à fait d'accord.
    Linq to SQL est un ORM, mais Linq en général est bien plus que ça...

    De toutes façons, pour répondre à la question initiale, Linq to SQL ne fonctionne qu'avec SQL Server, pour l'instant du moins. Donc à moins qu'il existe déjà un provider Linq tierce partie pour PostgreSQL, tu peux oublier l'idée. Ou alors attendre la sortie d'Entity Framework, actuellement en beta...

  4. #4
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Pas tout à fait d'accord.
    Linq to SQL est un ORM, mais Linq en général est bien plus que ça...
    Tu peux développer Tomlev? Je suis plutôt newbie en Linq, et je suis peut-être passé à côté de quelquechose. Si tu référence aux expressions lamba, que je trouve très intéressantes, je n'estime pas que cela fasse partie de Linq, mais plutot des nouveautés du C# 3.0...

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par neptune Voir le message
    Tu peux développer Tomlev? Je suis plutôt newbie en Linq, et je suis peut-être passé à côté de quelquechose. Si tu référence aux expressions lamba, que je trouve très intéressantes, je n'estime pas que cela fasse partie de Linq, mais plutot des nouveautés du C# 3.0...
    LINQ To SQL est un ORM mais LINQ est une technologie à part entière dont l'objectif est d'unifier le requêtage de collections d'objet en mémoire, provenant de XML, de base de données, etc.....
    LINQ To SQL n'est qu'une spécialisation de LINQ

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par neptune Voir le message
    Tu peux développer Tomlev?
    Thomas l'a fait pour moi

  7. #7
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Merci camarades :-)

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Par défaut
    Merci pour vos réponses. Je pensais que LINQ était un peu plus avancé que ça (version finie).

    Je vais suivre le conseil de Neptune, c'est un peu vers ça que je m'aiguillais de toute façon mais je voulais savoir si je passais à côté de quelque chose ;-).

    Bonne journée

  9. #9
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Linq est en version finie ;-)

  10. #10
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Par défaut LinQ
    Bonjour,
    j'ai une question : est-ce que LinQ peut-être utilisé avec un autre type de base de données que SQLserver ?

    Merci

  11. #11
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    En théorie oui. Tu pourrais utiliser de expressions lambda avec n'importe quelle système de base de données sous-jacent. Sauf qu'à ce jour, il n'existe (à ma connaissance) pas de "provider" permettant de transformer ces expressions en requêtes SQL efficaces spécifiques pour la DB de ton choix.

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Nicodu54 Voir le message
    Bonjour,
    j'ai une question : est-ce que LinQ peut-être utilisé avec un autre type de base de données que SQLserver ?

    Merci
    Citation Envoyé par neptune Voir le message
    En théorie oui. Tu pourrais utiliser de expressions lambda avec n'importe quelle système de base de données sous-jacent. Sauf qu'à ce jour, il n'existe (à ma connaissance) pas de "provider" permettant de transformer ces expressions en requêtes SQL efficaces spécifiques pour la DB de ton choix.
    Petite précision :
    - Linq to SQL fonctionne uniquement avec SQL Server
    - Entity Framework (autre ORM basé sur Linq) peut en principe fonctionner avec n'importe quel SGBD. Il faut simplement que le provider ADO.NET implémente certaines fonctionnalités (notamment la génération du SQL). Pour l'instant, assez peu de providers le font, mais en principe c'est en cours...

  13. #13
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Par défaut
    Merci d'avoir éclairci la réponse de Neptune

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/07/2008, 12h09
  2. [C#][Linq to Sql] Ajout de données ?
    Par dinbougre dans le forum Accès aux données
    Réponses: 8
    Dernier message: 10/03/2008, 13h48
  3. fichier XML à partir d'une base de données SQL
    Par MuldyMath dans le forum XQUERY/SGBD
    Réponses: 6
    Dernier message: 24/05/2006, 13h57
  4. Comparaison XML-base de donnée SQL
    Par mtaveau dans le forum XQUERY/SGBD
    Réponses: 11
    Dernier message: 02/05/2006, 03h45
  5. [XML]Question pour transport de données
    Par JCD_31 dans le forum XQUERY/SGBD
    Réponses: 6
    Dernier message: 21/03/2006, 22h04

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