Tôi không thể xóa bỏ tầng để hoạt động bình thường. Đây là bàn phím ngoài nước ngoài của tôi:Xóa tầng trên khóa ngoài trong Mã số Đầu tiên
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
}
Có ba cách khác nhau mà tôi đã thử. Khi tôi không sử dụng bất kỳ API thông thạo nào, nó sẽ thiết lập các bảng và các khóa nước ngoài một cách thích hợp, nhưng việc xóa tầng không hoạt động. Khi tôi sử dụng mã này:
modelBuilder.Entity<MedicalPlan>().HasMany(t => t.CoverageLevels).WithOptional.WillCascadeOnDelete();
nó tạo ra một cột thứ hai, vì vậy tôi có hoàn toàn vô MedicalPlan_Id
và sau đó một MedicalPlan_Id1
rằng nó lấp đầy. Khi tôi sử dụng điều này:
modelBuilder.Entity<MedicalPlan>().HasMany(t => t.CoverageLevels).WithOptional().HasForeignKey(d => d.MedicalPlan).WillCascadeOnDelete();
Tôi gặp lỗi khi tạo cơ sở dữ liệu. Làm thế nào tôi có thể thiết lập xóa tầng đúng cách?