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

Windows Forms Discussion :

Mapping base de données et DataSet


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 182
    Points : 113
    Points
    113
    Par défaut Mapping base de données et DataSet
    Bonjour,

    Je dois developper un logiciel client/serveur de gestion qui fais des traitement sur une base de données Sql server.
    Je souhaite concevoir au maximum d'une facon objet pour la modularité du code coté applicatif.

    Par exemple je veux mapper toutes mes lignes qui sont dans ma base de données pour pouvoir les manipuler sous forme d'objet dans mon application.
    Comme ceci :
    Code :

    ligne 1 de la TABLE --> Personne = new Personne (champs1, champs2 ......)
    ligne 2 --> Personne = new Personne (champs1, champs2 ....)
    ..........................................................
    ligne n --> Personne = new Personne (champs1, champs2 ....)

    J'ai pense notamment à l' objet Dataset qui permet de charger toutes les lignes des tables de la base de données en memoire.
    Le probleme en faisant de cette facon est que je risque de consommer enormement de memoire si ma base de donnees est volumineuse.
    1000 000 lignes = 1000 000 d'objet en memoires !!!!

    J'aimerai donc savoir si c'est une bonne methode de conception, si non comment procederiez vous pour garder au maximum l'esprit objet du code applicatif ?

    merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 374
    Points : 451
    Points
    451
    Par défaut
    Bonjour,
    L'utilisation du dataset me semble la meilleure solution pour le traitement des enregistrement d'une base de données.
    les contrôles peuvent êtres liés au table.
    Relation entre tables.
    Les mises à jour vers la BDR peuvent être automatique(dataadapter) ou "manuelle" (requêtes SQL).
    Pour le nombre de ligne, tu peux essayer de les réduires dans la requête.
    Bon boulot Jean

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par voyageur
    J'aimerai donc savoir si c'est une bonne methode de conception, si non comment procederiez vous pour garder au maximum l'esprit objet du code applicatif ?
    Ca peut être une bonne raison de ne pas utiliser les DataSet?

    Tu as regardé du côté des outils de mapping OR comme NHibernate ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    Citation Envoyé par MaRuXeLo
    Tu as regardé du côté des outils de mapping OR comme NHibernate ?
    Vi : autant ne pas réinventer la roue...
    Sans parler de tout ce qui accompagne...

    OK, un outil MOR c'est du lourd, mais certains ont deja fait un travail monstre pour nous aidé à générer une DAL en 5 min... Pourquoi se compliquer la tache?
    Je conseil nHibernate également, un peu usine à gaz au début parait il , mais on ne m'en dit que du bien ensuite...
    Le plus long est la prise en main, mais le gain de temps ensuite....

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Chubyone
    Sans parler de tout ce qui accompagne...
    Je dirais Spring.NET + NHibernate, solution qui a fait ses preuves dans le monde Java.

  6. #6
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    182
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 182
    Points : 113
    Points
    113
    Par défaut
    Je ne connais pas du tout les framework de mapping comme Nhibernate, cependant je reste sceptique sur ces technologie.

    En rajoutant des couches comme ceci les performances de traitement sur les base de données relationnelles ne s'en trouvent elle pas reduites ?

  7. #7
    Membre actif
    Inscrit en
    Août 2006
    Messages
    381
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 381
    Points : 252
    Points
    252
    Par défaut
    Bonjour,

    je te conseille un très bon article traitant du choix entre un outils de mapping OR et les dataset.

    Implémenter une couche de persistance avec .Net

    Après à toi de faire ton choix.
    J'ai développé quelques applications en utilisant des DataSet typés. Il est vrai que c'est pas mal. Après faut voir. Il y a du pour et du contre.
    Je vais me pencher sur un outil de mapping OR pour pouvoir comparer.

    Pour répondre à ta question directe, il faut comme te l'a dit JPelli que tu filtres ça dans tes requêtes.
    Un exemple tout bête, la consultation des commandes. Suppose qu'un utilisateur souhaite visualiser les commandes d'un client. Tu ne vas pas récupérer toutes les commandes qu'il y a en base pour que l'utilisateur en choisisse une parmi toutes ces commandes. Tu vas plutôt filtrer ta requête à partir de l'identifiant du client que l'utilisateur aura préalablement sélectionner. Et même en faisant ainsi, tu vas te retrouver avec beaucoup de commandes. Donc ensuite, tu peux filtrer les commandes sur une période que l'utilisateur aura choisi. Voilà pour l'exemple, ensuite tout dépend de ton application.

    Bye.

Discussions similaires

  1. Réponses: 8
    Dernier message: 11/05/2012, 09h27
  2. Réponses: 2
    Dernier message: 25/05/2011, 15h36
  3. Mapping base de données
    Par ThistleDub dans le forum Windows Forms
    Réponses: 5
    Dernier message: 14/05/2010, 14h49
  4. Réponses: 2
    Dernier message: 24/03/2010, 11h37
  5. [EJB 3.0] [JBOSS] Mapping Base de données
    Par bergui dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 14/02/2006, 11h09

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