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 :

[EF] Héritage : erreur lors de l'insertion de la clé étrangère sur la classe enfant


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 174
    Par défaut [EF] Héritage : erreur lors de l'insertion de la clé étrangère sur la classe enfant


    Encore des problème avec EF...
    J'ai une classe de base Person (avec RIS_Id en PK) et une classe Vendeur qui en hérite (avec SAL_Id en PK et RIS_Id en FK) dans ma base de données (Oracle 10g).

    Lors de la génération du schéma EF depuis la DB, je me retrouves avec une relation 0..1-*. Je supprime cette relation et met un héritage. La PK disparait de ma table vendeur et la génération échoue.

    Après lecture de tout Internet, je suis passé en mode édition de l'edmx, vu que le désigner EF ne semble pas au point.

    J'ai donc rajouté en PK de la table vendeur la PK de Person. Mais il me reste un problème, c'est lors de l'enregistrement que RIS_ID se retrouve à 0 dans la table Vendeur.

    Comment récupérer la valeur de la PK de Person pour l'inserer dans la table Vendeur ?

    En Rouge ce que j'ai rajouté dans l'edmx pour généré la solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
            <EntityType Name="PERSONN_RIS">
              <Key>
                <PropertyRef Name="RIS_ID" />
              </Key>
              <Property Name="RIS_ID" Type="int" Nullable="false" />
              <Property Name="RIS_NAME" Type="VARCHAR2" MaxLength="255" />
              <Property Name="RIS_FIRSTNAME" Type="VARCHAR2" MaxLength="255" />
              <Property Name="RIS_JDENUMBER" Type="int" />
              <Property Name="RIS_ISACTIVE" Type="bool" />
    
              <Property Name="XAMU_TIMESTAMP" Type="int" />
              <Property Name="SUB_ID" Type="int" />
              <Property Name="RIS_EMAIL" Type="VARCHAR2" MaxLength="255" />
            </EntityType>
            <EntityType Name="SALESPERSON_SAL">
               <Key>
                <PropertyRef Name="RIS_ID" />
              </Key>
              <Property Name="SAL_ID" Type="int"  />
              <Property Name="SAL_ISBRANCHMGR" Type="bool" />
              
              <Property Name="BRA_ID" Type="int" />
              <Property Name="SAC_ID" Type="int" />
             <Property Name="RIS_ID" Type="int" Nullable="false" />
              <Property Name="SEG_ID" Type="int" />
            </EntityType>
    Merci de votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 174
    Par défaut
    Il semblerait impossible qu'une classe hérité possède sa propre clé primaire, cette clé doit être la clé de la classe de base...

    Résultat, toute la structure de ma DB doit évoluer

    Avant d'updater toute la base, si quelqu'un pouvait me confirmer cette impossibilité ou m'expliquer s'il est possible d'avoir soit :
    * 1 clé primaire sur la table enfant et la clé hérité en FK.
    * 2 clés primaire sur la table enfant (RIS_ID et SAL_ID), sachant que seul la RIS_ID peut être binder sur l'entité PERSON. La clé SAL_ID servant pour les tables associés à la table enfant.

    Merci

Discussions similaires

  1. erreur lors d'une insertion
    Par poula dans le forum Oracle
    Réponses: 1
    Dernier message: 24/12/2006, 18h07
  2. Erreur lors d'une insertion
    Par chleuh dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 22/11/2006, 07h36
  3. [MySQL] Erreur lors de l'insertion dans ma base de doneés
    Par ANISSS dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 15/11/2006, 12h47
  4. [Interbase] TIBDataset : Erreur lors d'un insert
    Par AlexB59 dans le forum Bases de données
    Réponses: 13
    Dernier message: 08/12/2005, 16h35
  5. [DTS sql server] Erreur lors de l'insertion de trop de ligne
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/07/2005, 22h44

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