Linq To SQL pb InsertOnSubmit

bcazard Messages postés 18 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 26 avril 2010 - 26 avril 2010 à 17:06
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 26 avril 2010 à 20:09
Bonjour a tous,
Sur une appli de gestion j'utilise LinqToSql pour l'accés aux données.
Toutes les requetes (select, insert, update, delete) sont éffectuées à partir d'un seul DataContext global à toute l'appli => ttes les entités sont donc liées à ce datacontext.

Pb:
Sur une table X qui contient 4 enregistrements:
- Chargement de X en mémoire via monDataContext.
- Création d'une nouvelle entité de X et préparation de l'insert : monDataContext.X.InsertOnSubmit( new NewEntiteDeX());
- Insertion : monDataContext.SubmitChanges();
Méthode classique que j'ai déja utilisé sur plusieurs developpements.

Qu'est ce qui peut faire que le submit insere NewEntiteDeX(ok) mais également les entités qui viennent d'etre chargées alors qu'aucune modif n'est été faite sur celle-ci?

Merci d'avance.
Baptiste

4 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
26 avril 2010 à 19:28
Salut,

C'est a dire que tu as des doublons dans la base
apres la fonction InsertOnSubmit?
0
bcazard Messages postés 18 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 26 avril 2010
26 avril 2010 à 20:05
Oui c'est ça.
A chaque insert, il réinsere les enregistrements de la table + le nouvel enregistrement ???
la clé unique est un id autoincrémenté.

Baptiste
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
26 avril 2010 à 20:08
Ok

Peux-tu mettre le code de chargement de ton contexte, genre une fonction
qui fais

'lecture

'creation

'insertion

'submit

la methode que tu utilises mais dans une seule fonction pour comprendre le problème.

Merci
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
26 avril 2010 à 20:09
Faire un exemple sur northwind par exemple.
0
Rejoignez-nous