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

Accès aux données Discussion :

[EF]Mappage sur 2 table avec clef etrangere


Sujet :

Accès aux données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut [EF]Mappage sur 2 table avec clef etrangere
    Bonjour,

    J'ai 2 tables A et B lié par une FK (champs AId dans la table B).

    dans la table A j'ai un champs Info.

    Je génère mon edmx et j'ai une entité A et une entité B liés par une relation 1 - *.

    But de la manoeuvre :
    Faire en sorte d'ajouter un champs à l'entité B qui contiendrait les donnés du champs Info de l'entité A.

    Comment j'ai procédé :
    Je suis allé dans l'éditeur edmx, dans les mapping details de la table B j'ai ajouté la table A et le champ Info.
    Le problème c'est qu'il faut que je lui indique comment récupérer la bonne entité A (par la FK donc), alors j'ai tenté d'ajouter une condition sur le champs AId mais en fasse on ne peux mettre que des strings.

    Des solutions ?

    Merci

  2. #2
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Par défaut
    Bonjour,

    Entity Framework ne permet pas ce type de mapping, au mieux on peut mapper 2 tables pour une entité lorsqu'il existe une relation entre les 2 tables de type : 0..1 -> 1 (voir exemple).

    Sinon en ajoutant du code spécifique à la classe de l'entité B, tu dois pouvoir y arriver (la classe étant partielle, ça passe).

  3. #3
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    Tu pense a une propriété dans la classe B qui ferai un "get{ return A.Info; }"

    J'y ai pensé mais je ne veux pas car :

    - Je dois faire du linq sur ces champs
    - La classe A est très lourde donc un include est impossible (20 ene de champs contre 2 pour la classe B)

    Est ce qu'on ne peux pas faire un include d'un objet qui contiendrait uniquement les champs qui m'intéressent ? Comme lorsque l'on fini une requête linq par un select new A{Info = a.Info}

  4. #4
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Par défaut
    Tu m'as mis le doute. J'ai vérifié mais je vois pas comment tu pourrais faire ça.

    Concernant les conditions, elles servent juste pour l'héritage.

  5. #5
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    Ah mince quel dommage ...

    Bon va falloir que je mette une tartine de cache pour éviter de ramener trop souvent ces objets enormes ...

Discussions similaires

  1. Réponses: 12
    Dernier message: 12/06/2006, 14h29
  2. [MySQL] Requete sur 2 tables avec champs commun
    Par marcd dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/04/2006, 16h14
  3. créer TRIGGER sur 1 table avec liaison sur 2 autre table
    Par shaka84 dans le forum Développement
    Réponses: 2
    Dernier message: 11/04/2006, 11h10
  4. aide pour requete sur 2 tables avec clé étranere
    Par richton95 dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/12/2005, 13h32
  5. besoin d'aide -> requete sur 2 tables avec count()
    Par parksto dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/10/2005, 19h06

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