Código de Entity Framework primero: ciclos o múltiples rutas en cascada

Tengo una clase de reserva que tiene un contacto de reserva (unPerson) y un conjunto de propiedades de navegación (People) que se vincula a través de una tabla de unión a otro conjunto de propiedades de navegación (Bookings) enPerson. ¿Cómo genero elBooking tabla con eliminaciones en cascada habilitadas para la relación de contacto de reserva? Cuando lo dejo fuera del código API fluido (configuración predeterminada de eliminación en cascada habilitada) me sale el siguiente mensaje de error de la migración:

La introducción de la restricción FOREIGN KEY 'FK_dbo.BookingPeople_dbo.People_PersonID' en la tabla 'BookingPeople' puede causar ciclos o múltiples rutas en cascada. Especifique ON DELETE NO ACTION o ON UPDATE NO ACTION, o modifique otras restricciones de FOREIGN KEY.

No se pudo crear restricción o índice. Ver errores anteriores.

 modelBuilder.Entity<Person>()
   .HasMany<Booking>(s => s.aBookings)
   .WithRequired(s => s.Contact)
   .HasForeignKey(s => s.ContactId); 


 modelBuilder.Entity<Booking>()
   .HasMany(t => t.People)
   .WithMany(t => t.Bookings)
   .Map(m => {
     m.ToTable("BookingPeople");
     m.MapLeftKey("BookingID");
     m.MapRightKey("PersonID");
   });

Respuestas a la pregunta(1)

Su respuesta a la pregunta