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

Framework .NET Discussion :

Entity et Oracle, table changée en association


Sujet :

Framework .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 391
    Par défaut Entity et Oracle, table changée en association
    Bonjour à tous ,



    j'essaie de faire un projet web MVC 4 qui travaillerait en parrallèle avec une base de données Oracle.



    Dans cette base de données, je dispose de plusieurs tables dont les trois suivantes :

    X_TRVS;

    X_MATERIAL;

    X_TRVS_MATERIAL;

    Cette dernière fait le lien entre les deux premières car elle contient uniquement les clés primaires des deux autres. Lorsque je visualise ma base avec le logiciel TOAD, elle est bien considéré comme une table.

    Cependant, lorsque je crée un fichier ADO.NET Entity Data Model dans le fichier "Model" de mon projet, cette table n'apparaît plus dans le schéma relationnel (désolé si j'utilise des termes inappropriés, je ne suis pas sûr). Ce que j'ai pu m'apercevoir c'est de la présence de cette table dans les configuration de mon fichier .edmx et elle semble être considéré comme une association.

    Donc le problème c'est qu'aucune classe n'a été générée pour cette table et j'aimerais quand même avoir accès aux données qu'elle contient comme tout autre tables.

    Avez vous une idée ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par paladice Voir le message
    Donc le problème c'est qu'aucune classe n'a été générée pour cette table et j'aimerais quand même avoir accès aux données qu'elle contient comme tout autre tables.
    Pourquoi au juste ? Si cette table contient seulement des références à d'autres tables, c'est une association, pas une entité. A partir de là, je ne vois pas très bien ce que ça pourra t'apporter d'accéder directement à ses données...

    Tu peux toujours faire une requête SQL directement sur la table, mais demander à un ORM de considérer comme une entité quelque chose que n'en est pas une, ça ne peut apporter que des problèmes...

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 391
    Par défaut
    Ah oui, donc si je comprends bien, les deux classes qui sont créée contiennent des champs qui correspondent aux champs contenues à la base dans la troisième table qui s'est transformée en association ?

    Merci pour ta réponse

    Edit : Je viens donc de vérifier.
    La classe correspondant à la table X_TRVS contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public virtual ICollection<X_MATERIAL> X_MATERIAL { get; set; }
    Tandis que la classe X_MATERIAL contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public virtual ICollection<X_TRVS> X_TRVS { get; set; }
    Il y a donc bien une association entre ces deux classes si j'ai bien compris ^^.

    Maintenant, comment récupérer les valeurs :/. Je suppose qu'avec les fonctions "where< >"... je le pourrais. Mais à la base la table X_TRVS est représentée par deux clés primaires. Ce qui voudrais dire que X_MATERIAL retourne deux valeurs non ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par paladice Voir le message
    Ah oui, donc si je comprends bien, les deux classes qui sont créée contiennent des champs qui correspondent aux champs contenues à la base dans la troisième table qui s'est transformée en association ?
    Oui, c'est le principe d'une association... Si tu as 2 entités A et B qui ont chacune une clé primaire ID, et une table C qui a juste des colonnes A_ID et B_ID qui font référence aux clés de A et B, alors C est une association

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 391
    Par défaut
    D'accord, merci pour cette confirmation

    Qu'est ce que je peux faire de ces iCollection du coup ?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par paladice Voir le message
    Qu'est ce que je peux faire de ces iCollection du coup ?
    C'est-à-dire ? Je comprends pas ta question

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/04/2012, 23h02
  2. [MySQL] Prendre la valeur d'une table et l'associer à la valeur d'une autre
    Par gandolfi dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 02/02/2008, 08h04
  3. Réponses: 8
    Dernier message: 25/01/2008, 14h38
  4. hiérarchie sur une table et contrainte associée
    Par rock'roll dans le forum Débuter
    Réponses: 2
    Dernier message: 21/01/2008, 09h08
  5. Comment dupliquer la base oracle(table EMP ET DEPT)
    Par chevy dans le forum Administration
    Réponses: 1
    Dernier message: 17/05/2007, 14h11

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