Removendo muitos para muitos entidade Framework

Há muitas ou muitas relações entreArtist eArtistType. Eu posso facilmente adicionar artistaArtistType como abaixo

foreach (var artistType in this._db.ArtistTypes
    .Where(artistType => vm.SelectedIds.Contains(artistType.ArtistTypeID)))
{
    artist.ArtistTypes.Add(artistType);
}

_db.ArtistDetails.Add(artist);
_db.SaveChanges();

Isso vai e atualiza a tabela de associação many to many com o mapeamento correto. Mas quando tento remover algum item da tabela, não recebo nenhum erro, mas ele não o remove da tabela?

foreach (var artistType in this._db.ArtistTypes
    .Where(at => vm.SelectedIds.Contains(at.ArtistTypeID)))
{
    artistDetail.ArtistTypes.Remove(artistType);
}

this._db.Entry(artistDetail).State = EntityState.Modified;
this._db.SaveChanges();

o que estou perdendo?

questionAnswers(1)

yourAnswerToTheQuestion