EF Core ошибка при добавлении записи в БД

149
01 декабря 2019, 08:20

Получаю ошибку:

SqlException: Violation of PRIMARY KEY constraint 'PK_AspNetRoles'. Cannot insert duplicate key in object 'dbo.AspNetRoles'. The duplicate key value is (914b2e13-5b2d-44b6-a288-7b6ac432c62b).

И не понимаю чего он вообще трогает эту таблицу dbo.AspNetRoles.

[HttpPost]
public async Task<String> EditRole(string roleId, List<string> permissions)
{
    MyIdentityRole role = await _roleManager.FindByIdAsync(roleId);
    if (role == null)
        NotFound();
    //Получаем разрешение текущей роли
    List<Permission> permissionsRole = _permissionRoleContext.PermissionRole.Where(p => p.Role == role).Select(p => p.Permission).ToList();
    //Получаем устанавливаемые разрешения
    var setPermissions = _permissionContext.Permission.Where(p => permissions.Contains(p.Id.ToString())).ToList();
    foreach(Permission per in setPermissions)
    {
        var perRole = new PermissionRole() { Permission = per, Role = role };
        _permissionRoleContext.Add(perRole);
    }
    _permissionRoleContext.SaveChanges();
} 

Контекст данных:

public class PermissionRoleContext : DbContext
{
    public DbSet<PermissionRole> PermissionRole { get; set; }
    public PermissionRoleContext(DbContextOptions<PermissionRoleContext> options):base(options)
    {
        Database.EnsureCreated();
    }
}  

Модель:

public class PermissionRole
{
    public int Id { get; set; }
    public MyIdentityRole Role { get; set; }
    public Permission Permission { get; set; }
}
READ ALSO
Сложный цикл for

Сложный цикл for

Мне нужно реализовать один отдельный цикл, он должен быть примерно такой

132
Ренейм классов и переменных?

Ренейм классов и переменных?

хотел бы поинтересоватьсяСмотрел через ilspy код программы и мой глаз зацепила такая особенность:

131
Отправка данных

Отправка данных

Надо отправить данные типа int на front-end await ClientsAll

146
Запуск и компиляция C++ кода из C# на лету

Запуск и компиляция C++ кода из C# на лету

Краткая история: пишу дипломОптимизация с++ кода

129