我无法让级联删除正常工作。这是我的外键表:
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
}
我尝试了三种不同的方法。当我不使用任何流畅的 API 时,它会适当地设置表和外键,但级联删除不起作用。当我使用此代码时:
modelBuilder.Entity<MedicalPlan>().HasMany(t => t.CoverageLevels).WithOptional.WillCascadeOnDelete();
它创建了第二列,所以我有一个完全为空MedicalPlan_Id
的,然后是一个MedicalPlan_Id1
它填充的。当我使用这个时:
modelBuilder.Entity<MedicalPlan>().HasMany(t => t.CoverageLevels).WithOptional().HasForeignKey(d => d.MedicalPlan).WillCascadeOnDelete();
创建数据库时出现错误。如何正确设置级联删除?