Como desabilitar a exclusão em cascata para tabelas de links no código do EF primeiro?

Eu quero desabilitar exclusões em cascata para uma tabela de links com código de estrutura de entidade primeiro. Por exemplo, se muitos usuários tiverem muitas funções e eu tentar excluir uma função, quero que essa exclusão seja bloqueadaa não ser que não há usuários atualmente associados a essa função. Eu já removi a convenção de exclusão em cascata no meuOnModelCreating:

protected override void OnModelCreating(DbModelBuilder modelBuilder) {
    ...
    modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();

Em seguida, configurei a tabela de links da função do usuário:

modelBuilder.Entity<User>()
    .HasMany(usr => usr.Roles)
    .WithMany(role => role.Users)
    .Map(m => {
        m.ToTable("UsersRoles");
        m.MapLeftKey("UserId");
        m.MapRightKey("RoleId");
    });

No entanto, quando o EF cria o banco de dados, ele cria uma cascata de exclusão para os relacionamentos de chave estrangeira, por exemplo.

ALTER TABLE [dbo].[UsersRoles]  WITH CHECK ADD  CONSTRAINT [FK_dbo.UsersRoles_dbo.User_UserId] FOREIGN KEY([UserId])
REFERENCES [dbo].[User] ([UserId])
ON DELETE CASCADE
GO

ALTER TABLE [dbo].[UsersRoles]  WITH CHECK ADD  CONSTRAINT [FK_dbo.UsersRoles_dbo.Role_RoleId] FOREIGN KEY([RoleId])
REFERENCES [dbo].[Role] ([RoleId])
ON DELETE CASCADE
GO

Como posso parar o EF gerando essa cascata de exclusão?

questionAnswers(3)

yourAnswerToTheQuestion