Bonjour.
Je me permet de solliciter votre aide au sujet du problème suivant.
Lorsque j'essaie de faire une insertion d'un objet avec un ou plusieurs objet enfants associés j'obtiens une erreur FOREIGN KEY CONSTRAINT.
Voici le MLD simplifié de l'application.
Produit(id, nom, emplacement)
Article(id, id_produit, nom, numserie)
Je souhaite insérer un produit qui n'existe pas encore ainsi qu'un ou plusieurs articles associés. Voici un extrait du code.
A noter que si le produit existe déjà celà ne pose aucun problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 private void AjouterArticle() { this.CurrentProduit = new Produit(); Random rand = new Random(); this.CurrentProduit.article.Add(new article { numserie = rand.Next(1000).ToString() }); } public void AjouterProduit() { this.DomainContext.produits.Add((produit)parameter); this.DomainContext.SubmitChanges(this.OnSubmitionCompleted, null); }
En effet, lorsque l'objet viens d'être instancié l'id du produit est toujours fixé à 0. Effectivement, dans les requêtes SQL, EF essai d'insérer un enregistrement dans la table article avec un id_produit à 0.
Je me suis également assuré que l'attribut StoreGeneratedPattern="Identity" ait bien été spécifié dans le document SSDL du modèle.
J'avoue que je ne sais plus ou chercher.
Toute aide sera grandement appréciée.
Merci d'avance !
Partager