благодаря @Jason Armstrong я изменил свой код следующим образом:
var user = _dbContext.NetworkWebUser.FirstOrDefault(x => x.UserName == userName);
// find the role that already exist in the database
var roleExisting = _dbContext.NetworkWebRole.FirstOrDefault(x => x.RoleName == role.ToString());
user.NetworkWebRole.Add(roleExisting); // connect the user to an existing role
// entity framework add() will connect
//it in relationship table
_dbContext.SaveChanges();
Для тех, кто может бороться с этим, стоит отметить, что вы не хотите создавать новую роль, поэтому new Role(
) `здесь неверно.Вы получаете существующую роль из базы данных и подключаете к ней пользователя.
Я также обновил свой ролевый стол, чтобы его имя было уникальным
РЕДАКТИРОВАТЬ:
В качестве правки для этого я решил, что было бы полезно узнать, как удалить связь, а также,
В моем случае:
var user = _dbContext.NetworkWebUser.Where(x => x.Id == id).Include(v=> v.NetworkWebRole);
_dbContext.NetworkWebUser.RemoveRange(user);
_dbContext.SaveChanges();
Нашел ответ на этот вопрос здесь