insert "Violation of PRIMARY KEY constraint,Cannot insert duplicate key in object"
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 :
Code:
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');
}
});
} |
et voici la webmethod coté c#
Code:
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);
} |
si vous avez des idées. Merci.