I am using AddOrUpdate in my seed method to keep my permissions up to date, however, in the situation where the below code is updating the existing role (rather than creating it), any new Permissions I created are not being added to the role. What am I doing wrong?
foreach (KeyValuePair<string, string[]> s in new Dictionary<string, string[]>{
{"Superuser", context.Permissions.Select<Permission, string>(p=>p.Name).ToArray()},
})
{
Role r = new Role();
r.Name = s.Key;
r.Permissions = new List<Permission>();
foreach (string p in s.Value)
r.Permissions.Add(context.Permissions.Where(per => per.Name == p).First());
context.Roles.AddOrUpdate(i => i.Name, r);
}
context.SaveChanges();