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

Entity Framework Discussion :

Pattern Repository et tables d'associations


Sujet :

Entity Framework

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Dev
    Inscrit en
    Octobre 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Octobre 2014
    Messages : 35
    Points : 30
    Points
    30
    Par défaut Pattern Repository et tables d'associations
    Bonjour tout le monde,

    je suis en train de mettre en place le pattern repository pour une application. Mais je butte sur les tables de liaison. Prenons le cas de deux entités :

    - Utilisateur
    - Droit

    J'ai donc deux repositories : un pour les utilisateurs et un pour les droits.

    Maintenant, en base de données, j'ajoute une liaison entre un utilisateur et un droit. Ma question est la suivante : où dois-je placer ma méthode qui associe un utilisateur et un droit ? Dans un des repos existants ? ou dans un nouveau repository ?

    Merci pour vos éclaircissements !

  2. #2
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 64
    Points : 91
    Points
    91
    Par défaut
    Salut,

    tu peux t'inspirer d'EntityFramework, qui implémente ce pattern ; en gros ça dépend de tes cardinalités, mais EF en général ne mappe pas les associations (pas d'entit" "Utilisateur_Droit"). L'entité Utilisateur va avoir une propriété Droit si un utilisateur a un seul droit, ou une ICollection<Droit> si un utilisateur peut avoir plusieurs droits.
    Pour les ajouts, ça dépend de comment tu sauvegardes tes changements ; EF te permet de faire par ex. Utilisateur.Droits.Add(monEntiteDroit).

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Dev
    Inscrit en
    Octobre 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Octobre 2014
    Messages : 35
    Points : 30
    Points
    30
    Par défaut
    Salut Romka,

    En effet, je n'ai pas créé de classe qui correspond à mon association. Mais j'ai quand même besoin d'un repo pour gérer l'enregistrement en base .... Je peux pas le faire direct depuis mon objet :/

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 498
    Points
    1 498
    Par défaut
    Salut Romka,

    Alors deja entre utilisateur et droit logiquement c'est du n-n, donc il va falloir une table d'assotiation au milieu.

    cote logique de bdd cela donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    User   1-n    UserDroit   n-1   Droit
    Partant de la dans ton repoisitory tu mappe toutes les tables (donc meme UserDroit)

    Cote calsses cela donne:
    User a une liste de UserDroit
    Droit a une liste de UserDroit
    UserDroit a un User
    UserDroit a un Droit
    Maintenant, en base de données, j'ajoute une liaison entre un utilisateur et un droit. Ma question est la suivante : où dois-je placer ma méthode qui associe un utilisateur et un droit ? Dans un des repos existants ? ou dans un nouveau repository ?
    Je ferai un repo par table, le but etant d'etre le plus fidele a la bdd.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Dev
    Inscrit en
    Octobre 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Octobre 2014
    Messages : 35
    Points : 30
    Points
    30
    Par défaut
    Salut mermich,

    super tu rejoins ma vision des choses !

    Je vais donc créer un repository spécifique à cette table d'association

  6. #6
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Vous ne gérez pas de rôles?

    Un rôle regroupant un ensemble fini de droits.
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 498
    Points
    1 498
    Par défaut
    Dans son cas il le demandait pas, mais oui gerer plus finement par role est plus pratique.

Discussions similaires

  1. Mapper table d'association many-to-many
    Par zaineb.z dans le forum Hibernate
    Réponses: 13
    Dernier message: 23/06/2007, 20h09
  2. Réponses: 1
    Dernier message: 20/06/2007, 13h36
  3. [HIBERNATE] requete avec table d'association
    Par zybay dans le forum Hibernate
    Réponses: 1
    Dernier message: 14/06/2007, 12h59
  4. Problème de table d'association dans un DBGrid
    Par Mestoph dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/03/2007, 17h17
  5. [MySQL] Problème d'insertion de données dans table d'associations
    Par Yukhaa dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 07/02/2006, 17h10

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