Bonjour,

lors de la mise a jour des rôles pour un utilisateur, j'ai comme résultat la création en double des rôles.

ex:
1 User
2 Admin
9 User
10 Admin

Le problème vient lors du commit. J'ai vérifié:

- la variable account que je veux updaté est bien juste
- lors de la mise a jour (update) => context.Entry(entity).State = EntityState.Modified;

Code C# : 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
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult EditAccount(int id, FormCollection formCollection, string[] selectedRoles)
{
	_account.GetById(id).Roles = new List<Role>();
	if (selectedRoles != null)
	{
		foreach (string r in selectedRoles)
		{
			var roletoadd = _role.GetById(Convert.ToInt16(r));
 
			_account.GetById(id).Roles.Add(roletoadd);
		}
	}
 
	_account.Update(_account.GetById(id));
	_account.Commit();
 
	return RedirectToAction("Index");
}

D'avance merci.

OPX