Una relación está en estado Borrado

Cuando estoy tratando de borrar una colección.Clear) Obtengo la siguiente excepción:

Se produjo un error al guardar entidades que no exponen propiedades de clave externa para sus relaciones. La propiedad EntityEntries devolverá un valor nulo porque una sola entidad no puede identificarse como el origen de la excepción. El manejo de las excepciones al guardar se puede hacer más fácil al exponer las propiedades de clave externa en sus tipos de entidad. Vea la InnerException para más detalles.

La excepción interna es:

Una relación del conjunto de asociación 'User_A Availability' se encuentra en el estado 'Deleted'. Dadas las restricciones de multiplicidad, un 'User_A Availability_Target correspondiente' también debe estar en el estado 'Deleted'.

El usuario se ve así:

....
ICollection<Availability> Availability { get; set; }

La disponibilidad se ve así:

int ID { get; set; }
User User { get; set; }
DateTime Start { get; set;
DateTime End { get; set; }

La configuración es la siguiente:

HasMany(x => x.Availability).WithRequired(x => x.User);
HasRequired(x => x.User).WithMany(x => x.Availability);

El código que causa el problema es:

user.Availability.Clear();

He visto otras alternativas, como usar el DbSet para eliminar elementos, pero no creo que mi código esté tan limpio. ¿Hay una manera de lograr esto mediante la limpieza de la colección?

Respuestas a la pregunta(2)

Su respuesta a la pregunta