カスケード削除を正しく機能させることができません。これは私の外部キーテーブルです:
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
}
私が試した3つの異なる方法があります。流暢なAPIを使用しない場合、テーブルと外部キーは適切に設定されますが、カスケード削除は機能しません。このコードを使用する場合:
modelBuilder.Entity<MedicalPlan>().HasMany(t => t.CoverageLevels).WithOptional.WillCascadeOnDelete();
2番目の列が作成されるので、完全にnullMedicalPlan_Id
になり、MedicalPlan_Id1
それがいっぱいになります。私がこれを使うとき:
modelBuilder.Entity<MedicalPlan>().HasMany(t => t.CoverageLevels).WithOptional().HasForeignKey(d => d.MedicalPlan).WillCascadeOnDelete();
データベースの作成中にエラーが発生します。カスケード削除を正しく設定するにはどうすればよいですか?