Zed*_*Bee 3 c# entity-framework ef-code-first
我一直在阅读有关EF Code First生成重复外键的SO帖子,并尝试将解决方案应用于我的代码但无法修复我的代码.
这是我的课程
public class Schedule
{
public int Id { get; set; }
public ICollection<Appointment> Appointments { get; set; }
}
public class Appointment
{
public int Id { get; set; }
public Schedule Schedule { get; set; }
}
public class ScheduleConfiguration : EntityTypeConfiguration<Schedule>
{
public ScheduleConfiguration()
{
HasKey(s => s.Id);
Property(s => s.Id).HasColumnName("SCHEDULEID");
ToTable("SCHEDULES");
}
}
public class AppointmentConfiguration : EntityTypeConfiguration<Appointment>
{
public AppointmentConfiguration()
{
HasKey(a => a.Id);
Property(a => a.Id).HasColumnName("APPOINTMENTID");
HasRequired(a => a.Schedule).WithMany().Map(x => x.MapKey("SCHEDULEID"));
ToTable("APPOINTMENTS");
}
}
Run Code Online (Sandbox Code Playgroud)
这是生成两个外键appointments即桌子SCHEDULEID和Schedule_Id1.
如何告诉EF不要创建 Schedule_Id1
试试这个:
HasRequired(a => a.Schedule).WithMany(x=> x.Appointment).Map(x => x.MapKey("SCHEDULEID"));
Run Code Online (Sandbox Code Playgroud)
希望这有帮助.