Eliminando muchas a muchas entidades Framework

Hay una relación de muchos a muchos entreArtist yArtistType. Puedo agregar artista fácilmenteArtistType como abajo

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

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

Esto va y actualiza la tabla de asociación muchos a muchos con la asignación correcta. ¿Pero cuando intento eliminar cualquier elemento de la tabla, no aparece ningún error pero no lo elimina de la tabla?

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();

¿Qué me estoy perdiendo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta