Я использую это учебное пособие от Microsoft для создания отношения один-ноль-к-одному с EF4.1 между инструктором и OfficeAssignment.Это работает как шарм.
Но теперь я хочу добавить Дом для каждого Инструктора (от 1 до нуля или 1), как это:
Я добавил модель Home точно так же, как OfficeAssignment (как в учебном руководстве выше), но когда я пытаюсь добавить контроллеры для этой модели, я получаю сообщение об ошибке «Элемент с таким именем уже был добавлен».
Итак, моя модель настроена неправильно.Что не так с ниже?Как мне создать несколько отношений «один к нулю к одному» в EF4.1?
public class Instructor
{
public Int32 InstructorID { get; set; }
public string LastName { get; set; }
public string FirstMidName { get; set; }
public virtual OfficeAssignment OfficeAssignment { get; set; }
public virtual Home Home { get; set; }
}
public class OfficeAssignment
{
[Key]
public int InstructorID { get; set; }
public string Location { get; set; }
public virtual Instructor Instructor { get; set; }
}
public class Home
{
[Key]
public int InstructorID { get; set; }
public string Location { get; set; }
public virtual Instructor Instructor { get; set; }
}
public class Context : DbContext
{
public DbSet<OfficeAssignment> OfficeAssignments { get; set; }
public DbSet<Instructor> Instructors { get; set; }
public DbSet<Home> Homes { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Entity<Instructor>()
.HasOptional(p => p.OfficeAssignment)
.WithRequired(p => p.Instructor);
modelBuilder.Entity<Instructor>()
.HasOptional(p => p.Home).WithRequired(p => p.Instructor);
}