Repository Pattern - Mise a jour = doublon
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:
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