Bonjour,
Je suis face à un problème : J'ai un message d'erreur "Violation of PRIMARY KEY constraint,Cannot insert duplicate key in object" lors d'un insert.
Notez que l'id n'est pas en auto incrément, donc je vais récupérer le dernier Id pour générer le nouveau.
Je ne sais pas si c'est parce que le lors du 1er insert, le schema sql linq n'est pas à jour et donc je récupère le même dernier id de la table..
J'ai une méthode qui permet d'insérer un objet avec linqtosql. J'appelle cette méthode via une requête ajax pour chaque objet à insérer.
Voici le code pour ma méthode ajax :
et voici la webmethod coté c#
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 foreach ... { $.ajax({ type: 'POST', url: 'Default.aspx/Method', contentType: 'application/json; charset=utf-8', dataType: "json", data: JSON.stringify({ data1: test, data2: test2, ... }), success: function (data) { }, error: function () { alert('La requête n\'a pas abouti'); } }); }
si vous avez des idées. Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 var idNew = (from c in db.OBJECT orderby c.id descending select c.id).First(); // construct object OBJECT obj = new OBJECT { id = idNew + 1, data1 = test1, data2 = test2 ... }; db.OBJECT.InsertOnSubmit(obj); // Submit change to the database try { db.SubmitChanges(); } catch (Exception e) { throw new Exception(e.Message); }
Partager