Enregistrement données en base avec Entity Framework
cs_niko14
Messages postés209Date d'inscriptionjeudi 12 janvier 2006StatutMembreDernière intervention10 octobre 2014
-
10 oct. 2014 à 11:59
thierrysoft -
14 déc. 2017 à 15:35
Bonjour,
j'ai créé un site asp.net avec Entity Framework, Linq et tout le bazar.
J'ai un objet PRODUIT qui est lié à une table PRODUIT_A_POUR_TAILLE, qui va référencer toutes les tailles pour un produit.
Lorsque je veux créer mon produit, il me créé une exception me disant :
System.Data.Entity.Core.UpdateException: Une erreur s'est produite lors de la mise à jour des entrées. Pour plus d'informations, consultez l'exception interne. ---> System.InvalidOperationException: Une propriété dépendante dans ReferentialConstraint est mappée à une colonne générée par le magasin. Colonne : 'ID_PRODUIT'
Je ne vois pas trop d'où ça peut venir.
Est ce qu'il veut me dire que je ne peux pas enregistrer de produit car il faut un id produit pour le mettre dans la table des tailles?
Je vous mets mon code d'ajout ci-dessous, et merci d'avance
//Enregistrement des tailles du produit //if (idProduit != 0) // foreach (int item in taillesSelected) // { // PRODUIT_A_POUR_TAILLE pTaille = new PRODUIT_A_POUR_TAILLE(); // pTaille.ID_PRODUIT = idProduit; // pTaille.ID_TAILLE = item; // using (Entities2 db = new Entities2()) // { // db.PRODUIT_A_POUR_TAILLE.Add(pTaille); // db.SaveChanges(); // } // }
//Enregistrement des images sur le serveur SaveFile(1, imgPr); if (fiuImg2.HasFile) SaveFile(2, img2); if (fiuImg3.HasFile) SaveFile(3, img3); if (fiuImg4.HasFile) SaveFile(4, img4); //bitmap.Save(HttpContext.Current.Server.MapPath("/img/bitmap.png"));
} catch (DbEntityValidationException exc) { foreach (var eve in exc.EntityValidationErrors) { lblError.Text += "Entity of type "" + eve.Entry.Entity.GetType().Name + "" in state "" + eve.Entry.State + "" has the following validation errors:"; foreach (var ve in eve.ValidationErrors) { lblError.Text += "- Property: "" + ve.PropertyName + "", Error: "" + ve.ErrorMessage + """; } } } catch (Exception ex) { this.lblError.Text = ex.InnerException.ToString(); }
tpoinsot
Messages postés345Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention17 octobre 20144 17 oct. 2014 à 12:09
Bonjour,
Je ne pense pas que l'erreur vienne du code. Vérifie les extrémités de la relation, par exemple qu'il n'y ait pas d'auto-incrément des 2 côtés.
moi j'avais eu problème lorsque j'ai changé la clé primaire d'une table.Ouvre ton edmx,choisis la table concernée,regarde le mapping dans la grille du bas,choisis la colonne concernée et va dans les proprités t'assurée qu'elle n'est pas à identity pour le cas d'une clé étrangère...tu pourra de la meme facon vérifier toutes tes autres colonnes et t'assurer qu'elles sont correctes
14 déc. 2017 à 15:35