1
Microsoft에서이 tutorial을 사용하여 강사와 OfficeAssignment간에 EF4.1과 one-zero-to-one 관계를 만듭니다. 이것은 매력처럼 작동합니다.여러 "1 - 0..1"관계 모델
는하지만 지금은이처럼 (1 제로 또는-1) 각 강사의 홈을 추가 할 :
나는 OfficeAssignment 정확히 같은 방식으로 홈 모델을 추가 (위의 튜토리얼에서와 같이),하지만이 모델에 대한 컨트롤러를 추가하려고하면 "같은 이름의 항목이 이미 추가되었습니다"라는 오류가 발생합니다.
그래서 내 모델이 잘못 설정되었습니다. 아래의 내용은 무엇입니까? EF4.1에서 1 대 1 대 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);
}