In meiner Anwendung erstelle ich Identitätsrollen, möchte aber sicherstellen, dass ein Name desselben nicht existiert. Hier ist das, was ich habe versuchtWie überprüfe ich, ob eine Identity-Rolle existiert, bevor sie erstellt wird?
public ActionResult Create()
{
var Role = new IdentityRole();
return View(Role);
}
[HttpPost]
public ActionResult Create(IdentityRole Role)
{
var roleStore = new RoleStore<IdentityRole>(_context);
var roleManager = new RoleManager<IdentityRole>(roleStore);
if (!roleManager.RoleExists(Role.ToString()))
{
_context.Roles.Add(Role);
_context.SaveChanges(); //error points here
return RedirectToAction("Index");
}
else
{
TempData["message"] = "This role already exists. Please check your roles and try again";
return RedirectToAction("Index");
}
}
Ich weiß, es Fehler, weil es ein Duplikat ist, da es funktioniert, wenn die Role
anders, aber warum es nicht die if/else-Klausel scheint?