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 :

Relation Objet BDD


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 71
    Par défaut Relation Objet BDD
    Bonsoir à tous, une question me perturbe...

    Je débute en c#, et je dois créer une petite application qui permettrait de gérer la location de séjour (c'est la petite histoire ...).
    Le problème est que j'ai toujours développé autour d'une base de données et c'est ici que se trouve mon problème.

    Admettons que j'ai à ma disposition des Objets "Clients" et une table Clients dans ma Base de données.

    La question que je me pose est donc la suivante : Est-ce que dans les méthodes de la classe Clients nous trouverons des requêtes sql ? J'ai entendu parler de mapping ?
    Enfaite, je vois pas l'utilité de créer des objets clients dans la mesure ou lorsque je fermerai cette application, tous les objets crées seront supprimés, enfin , je pense ?
    Un exemple concret : J'ai 10 clients dans ma base de données.

    A chaque fois que j'ouvrirai mon application, je vais créer une collection qui va creer 10 objets clients en récupérant les informations de la base de données, quel est l'utilité ?

    Merci d'avance de m'aider

  2. #2
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut
    J'espère avoir bien saisi ta demande :
    Tout dépend de ton architecture. Il est fréquent de créer des entités qui ne comportent que des informations et ne font rien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class Customer{
        public string Name { get; set; }
        etc.
    }
    Cette classe ne contient que des properties (on pourrait utiliser un struct aussi).

    Des classes de Data-Acces vont t'offrir des services de chargement, par exemple en exécutant une requête "select * from Clients" et en mappant les champs avec ton objet.
    Un conseil : une méthode Fill pour faire la mappage.
    Ta méthode de chargment te renvoie donc un objet manipulable par le reste de l'application.

    Pour enregistrer, ta classe DA le fait aussi.

    C'est une façon de faire parmi de nombreuses...

    Toujours est-il qu'avec une requête précise, tu ne charges que l'objet dont tu as besoin (ou les objets sous forme de List<T>).

Discussions similaires

  1. [XL-2010] Relation devis - BDD
    Par criterium dans le forum Excel
    Réponses: 2
    Dernier message: 30/01/2015, 23h05
  2. Aide Relations tables - BdD univers carcéral
    Par Marty84 dans le forum Schéma
    Réponses: 7
    Dernier message: 25/01/2012, 19h09
  3. [POO] PHP Objet / BDD
    Par Erwan M. dans le forum Langage
    Réponses: 5
    Dernier message: 07/03/2008, 16h13
  4. mise en relation formulaire-BDD
    Par kumo dans le forum Modélisation
    Réponses: 3
    Dernier message: 24/05/2007, 08h40
  5. Réponses: 5
    Dernier message: 13/06/2005, 17h59

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