Bonjour,
j'ai l'erreur suivante lorsque je tente d'ajouter un élément dans une table depuis le code C# :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
System.Data.UpdateException: Entities in 'GestionAssociationEntities.T_Villes' participate in the 'FK_T_Villes_T_Pays' relationship. 0 related 'T_Pays' were found. 1 'T_Pays' is expected.
Or, lorsque je fais le même ajout depuis SQL Server ça marche parfaitement.


Ci-dessous, la question avec plus de détail :

J'ai défini dans une base de données 2 tables Pays et Villes de cette manière :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
T_Pays : 
IdPays
NomPays
 
T_Villes : 
IdPays
IdVille
NomVille
J'ai défini une Foreign Key sur IdPays (relation 1N entre T_Pays et T_Villes).
La contrainte fonctionne correctement dans SQL Server 2005.

Dans mon projet ASP.Net je mappe mes tables dans un fichier Model.Edmx.
Je souhaite donc ajouter une nouvelle Ville depuis mon code C# ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
                    T_Villes VilleNonDefinie = new T_Villes();
                    VilleNonDefinie.IdPays = 1; // <-- ce Pays existe bien
                    VilleNonDefinie.NomVille = "Non défini";
                    BD = new GestionAssociationEntities();
                    BD.AddToT_Villes(localBD);
                    BD.SaveChanges();
Mais j'obtiens l'erreur suivante :
System.Data.UpdateException: Entities in 'GestionAssociationEntities.T_Villes' participate in the 'FK_T_Villes_T_Pays' relationship. 0 related 'T_Pays' were found. 1 'T_Pays' is expected.