No puedo hacer que la eliminación en cascada funcione correctamente. Esta es mi tabla de clave foránea:Eliminar en cascada en una clave foránea en Code First
public class CoverageLevel
{
public int Id { get; set; }
public virtual MedicalPlan MedicalPlan { get; set; } //foreign key
public virtual VisionPlan VisionPlan { get; set; } //foreign key
public virtual DentalPlan DentalPlan { get; set; } //foreign key
}
Hay tres maneras diferentes en que probé. Cuando no uso ninguna API fluida, configura las tablas y las claves externas de forma apropiada, pero la eliminación en cascada no funciona. Cuando utilizo este código:
modelBuilder.Entity<MedicalPlan>().HasMany(t => t.CoverageLevels).WithOptional.WillCascadeOnDelete();
se crea una segunda columna, así que tengo una forma completamente nula MedicalPlan_Id
y luego un MedicalPlan_Id1
que llene. Cuando uso esto:
modelBuilder.Entity<MedicalPlan>().HasMany(t => t.CoverageLevels).WithOptional().HasForeignKey(d => d.MedicalPlan).WillCascadeOnDelete();
Me sale un error al crear la base de datos. ¿Cómo puedo configurar la eliminación de cascada correctamente?