Я использую этот tutorial от microsoft для создания отношения «один к одному» с EF4.1 между инструктором и OfficeAssignment. Это работает как шарм.несколько моделей отношений «от 1 до 0..1»
Но теперь я хочу, чтобы добавить дом для каждого инструктора (1 к нулю или-1), как в этом:
Я добавил Главная модель точно так же, как 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);
}