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

Silverlight Discussion :

Erreur lors de l'insertion d'une ligne (table avec relation 1-0)


Sujet :

Silverlight

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 111
    Points : 44
    Points
    44
    Par défaut Erreur lors de l'insertion d'une ligne (table avec relation 1-0)
    Bonjour à tous, bonne année

    Je suis confronté à un petit problème d'insertion de ligne dans une table SQL...
    J'ai 2 tables comportant 1 champ chacune, avec une relation 1-0 :
    - table1 (field1, primary key)
    - table2 (field2, primary key & foreign key vers field1)

    Pour la petite histoire, j'ai choisi de ne pas mettre le 2 champs dans une même table, car fonctionnellement, table2 est une spécialisation de table1.

    Mon problème, c'est que dans mon appli Silverlight, je veux insérer une ligne dans table2 (avec une valeur field2 qui existe dans field1 biensûr). Et j'obtiens l'erreur :
    Submit operation failed. Entities in '...table2' participate in the 'FK_table2_table1' relationship. 0 related 'table1' where found. 1 'table1' is expected.
    J'ai cherché sur le net sans succès. Quelqu'un aurait une idée ?
    Merci d'avance

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 111
    Points : 44
    Points
    44
    Par défaut
    Personne n'a d'idée alors ?
    A mon avis c'est un bug relatif à Silverlight qui gère mal les relations 1-0, même si ça ne pose pas de problème à la compilation.
    Mais si quelqu'un en sait plus... merci bien

  3. #3
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 082
    Points
    8 082
    Par défaut
    Citation Envoyé par abbepierre94 Voir le message
    Personne n'a d'idée alors ?
    A mon avis c'est un bug relatif à Silverlight qui gère mal les relations 1-0, même si ça ne pose pas de problème à la compilation.
    Mais si quelqu'un en sait plus... merci bien
    Ca m'étonnerait que ca vienne de Silverlight, vu qu'il ne gère pas les accès à la base de données
    Ta FK de table2 est elle nullable?

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 111
    Points : 44
    Points
    44
    Par défaut
    Euh... J'ai oublié de préciser que j'utilise Entity Framework avec lequel j'ai généré un edmx + des domain services.

    Merci pour ta réponse. Ma FK n'est pas nullable...

  5. #5
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 082
    Points
    8 082
    Par défaut
    Citation Envoyé par abbepierre94 Voir le message
    Euh... J'ai oublié de préciser que j'utilise Entity Framework avec lequel j'ai généré un edmx + des domain services.

    Merci pour ta réponse. Ma FK n'est pas nullable...
    Si ta FK n'est pas nullable alors c'est une relation 1-1 et c'est bien ce que EF te dis.

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 111
    Points : 44
    Points
    44
    Par défaut
    J'ai pas bien compris, désolé
    Est-ce que ça répond au problème de plantage lors de l'insertion d'une ligne dans table2, avec une clé qui existe bien dans table1 ?

    En tout cas, j'arrive bien à faire l'insertion dans mon SQL Managemt Studio.

    Merci d'avance

  7. #7
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 082
    Points
    8 082
    Par défaut
    Ton modèle ne représente pas une liaison 1-0 mais une liaison 1-1 c'est pour ca que tu n'arrives pas à faire ce que tu veux.

  8. #8
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 111
    Points : 44
    Points
    44
    Par défaut
    Je pense que j'ai bel et bien un lien 1-1 (table1) / 1-0 (table2)...
    Je vais donner un exemple plus concret, avec 2 tables toujours.
    Tu as des voitures avec la propriété "Couleur", et certaines sont des 4x4 avec la propriété "Permanent"

    Voiture
    -------
    MarqueID (PK)
    Couleur


    Voiture4x4
    -------
    MarqueID (PK et FK)
    Permanent


    Et bien pour les voitures 2x2, tu n'auras pas de ligne dans Voiture4x4, alors que t'en auras pour les voitures 4x4.
    Donc je ne comprends pas ce problème d'insertion. C'est une FK comme une autre, c'est juste qu'elle est PK aussi...

    En définitive, quelle solution j'ai pour résoudre mon problème, sachant que j'aimerais garder cette notion de FK qui est PK ?
    Merci pour ton aide en tout cas !

  9. #9
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 082
    Points
    8 082
    Par défaut
    Arf dans ce sens ok! Mais dans ce cas la tu peux passer par la modélisation de l'héritage
    http://blogs.msdn.com/b/adonet/archi...framework.aspx

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 111
    Points : 44
    Points
    44
    Par défaut
    Ah ouais, c'est intéressant ça, merci.

    Malheureusement, ça nécessite des actions manuelles post-création de l'edmx. Et chaque fois que je modifie ma BdD (5 fois par jour) je recrée mon edmx from scratch (car la mise à jour ds VS2008 ne fonctionne pas correctement). Bin du coup, je ne vais pas opter pour ta solution, même si elle est top.

    Je reste néanmoins sur le fait que mon edmx d'origine ne me permette pas de faire cette insertion si simple. Je vais rajouter une clé UniqueID à mon champ. Tant pis pour le caractère PK qui se perdra

    Merci beaucoup à toi !!

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

Discussions similaires

  1. Erreur lors de l'insert dans une BDD MySQL
    Par gagaz21 dans le forum C#
    Réponses: 4
    Dernier message: 16/07/2011, 00h10
  2. [XL-2003] Erreur lors d'un retour sur une ligne de code
    Par buhrne dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/03/2010, 15h54
  3. [XL-2003] Lors de l'insertion d'une ligne ne pas modifier les lignes de calcul
    Par peofofo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/02/2010, 00h18
  4. Réponses: 2
    Dernier message: 15/11/2007, 17h43

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