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

C# Discussion :

Indépendance de la base de donnée avec ADO.NET ou LINQ ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 107
    Par défaut Indépendance de la base de donnée avec ADO.NET ou LINQ ?
    Bonjour,

    Dans le cadre de mon projet, je dois créer une interface graphique WPF qui va chercher les données dans une base de donnée PostgreSQL. Je suis débutant en C# et je souhaite rendre mon projet réutilisable. C'est à dire qu'à l'avenir si l'on doit changer le type de base de donnée, que le programme n'en soit pas affecté.

    J'ai entendu parler des différentes technologies ADO.NET et LINQ. Pouvez-vous me conseiller un peu plus sur ce qui serait meilleur de faire.

    Merci d'avance.

    Narglix

  2. #2
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Salut,

    voilà une saine initiative

    ADO.Net permet en effet de largement s'abstraire de la base utilisée. Tu trouveras pas mal d'info dans cet inévitable tutoriel : http://johannblais.developpez.com/tu...acces-donnees/

    Tu ne pourras par contre t'abstraire complètement de la base, car les différents SGBD ont des syntaxes qui peuvent différer.

    Je t'invite aussi à modifier le titre de ton topic, parce qu'il est pas suuuuuper précis.

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 107
    Par défaut re
    Merci pour le lien

    Par contre, ils ne font jamais référence dans l'article à ADO.NET et LINQ. Est-ce que cela est intégré directement à ADO ?

    Quand est-ce qu'il est utile d'utiliser LINQ par exemple ? ou pourrais je m'en passer ?

    Je vais encore faire quelques recherches de mon côté mais si quelqu'un a des explications je suis preneur

    Merci encore !

    Narglix

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    ado.net est ce qui sert à se connecter aux bases de données en .net
    donc en théorie tout accès avec le framework à une base de données passe par ado.net
    linq to sql ou entity framework passent aussi par ado.net

    pour des bases de données non prises en charge nativement par le framework il faut ajouter une dll en référence qui en théorie hérite des classes de bases du framework

    en accès standard, pour avoir un code réutilisable il faut par exemple avoir des méthodes as system.data.common.DdDataReader par exemple
    comme ca dans cette méthode tu instancies soit un sqldatareader (sql server), soit un oledbdatareader (access), soit autre chose

    comme dit précédement les connecteurs tiers (comme mysql connector) héritent en général des classes qui sont dans system.Data.common


    linq sert juste à changer le mode d'écriture, en écrivant des requete sql en .net en gros
    donc si tu veux changer de base avec du linq to sql, il faut que le type de sgbdr accepte linq to sql, et refaire l'import des tables, le code reste le même partout


    le mieux c'est que tu fasses des essais tout de suite avec 2 sgbdr pour voir si la solution que tu choisis permet le changement de sgbdr
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 107
    Par défaut re
    Merci pour ta réponse détaillée j'ai fait des recherches et j'ai lu un article sur entity framework qui permettrait de ne plus avoir besoin de requête SQL donc dans un sens vu que le grand problème d'avoir différents SGBDs c'est la syntaxe des différentes requêtes SQL.

    Le mieux si j'ai bien compris pour que le code soit réutilisable est d'employer l'entity framework logiquement ou je me trompe ?

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    linq to sql ou entity framework permettent de faire abstraction du code sql, une classe intermédiaire s'en occupant

    par contre linq to sql doit etre supporté par pal de sgbdr, alors que pour entity framework ca doit etre plus limité, en effet il faut une classe intermédiaire plus complexe

    entity framework apportant plus de souplesse dans l'utilisation
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. [AC-2010] ouvrir une table dans une base de données avec ado
    Par sidisadmir dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/07/2013, 15h27
  2. Problème d'ajout des données avec ado.net
    Par ahmedbj dans le forum ADO.NET
    Réponses: 10
    Dernier message: 14/03/2012, 13h36
  3. connexion de la base de données avec vb.net non réussie
    Par wikiele dans le forum Développement
    Réponses: 7
    Dernier message: 25/07/2011, 14h19
  4. connexion à une base de données avec vb.Net
    Par Ange_1987 dans le forum VB.NET
    Réponses: 1
    Dernier message: 22/02/2009, 13h42
  5. Lier une feuille à une base de donnée ( avec ADO)
    Par christiano dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/12/2005, 15h55

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