Bonsoir à tous ! J'ai un problème au niveau de Linq en C# et je viens de passer ma journée à chercher une solution sans succès. C'est la raison pour laquelle je me tourne vers ce forum :)
Voilà mon contexte :
J'ai 2 tables qui donnent 2 entities :
Personne(id, nom, idVille (ALLOW NULL))
Ville(id, nom, cp)
Cela génère donc une relation automatique au niveau du diagramme de Classe. Jusque là tout va bien.
Ensuite je propose un formulaire winform à l'utilisateur pour qu'il puisse ajouter une personne et lui rattacher une ville obligatoirement : jusque là tout va bien au niveau objet en mémoire.
C'est là où çà se corse : lorsque je tente d'ajouter la personne à mon contexte cela sort en erreur avec ce message:
"An attempt has been made to Attach or Add an entity that is not new, perhaps having been loaded from another DataContext. This is not supported."
Et voici le code qui ajoute la personne :
public static int Insert(Person newPerson)
{
try
{
PartenairesDataClassesDataContext dc = new PartenairesDataClassesDataContext();
//évite les doublons
var matched = (from c in dc.Persons
where c.NOM == newPerson.NOM
select c).SingleOrDefault();
if (matched == null)
{
dc.Persons.InsertOnSubmit(newPerson);
dc.SubmitChanges();
}
return newPerson.ID;
}
catch
{
return 0;
}
}
Merci pour votre aide.