2011-08-11 6 views
1

엔티티 프레임 워크를 처음 사용합니다. 나는 두 테이블 ...엔티티 프레임 워크의 외래 키 관계

public class S7_Baskets 
{ 
    [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)] 
    [Column(Order = 0)] 
    public string S7_BasketID { get; set; } 
    [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)] 
    [Column(Order = 1)] 
    public int S7_Seqno { get; set; } 
    public int S7_ProductID { get; set; } 

    public virtual S2_Products S2_Product { get; set; } 

} 

public class S2_Products 
{ 
    [Key] 
    public int S2_ProductID { get; set; } 
    public string S2_Desc { get; set; } 
} 

S7_ProductID는 S2_ProductID를 참조해야 있나요?

+0

이다 질문입니다 순전히 Entity Framework 코드 우선입니다. MVC3과는 전혀 관계가 없습니다. MVC3 프로젝트에서 사용한다는 사실은 부적합합니다. –

+0

Ok will i change – Beginner

+0

엔티티에서 정의한 가상 속성이 수행 할 것입니다. – Novice

답변

1

귀하의 질문과 귀하가해야 할 일을 이해하면. 난 당신이 S7_ProductID 속성에 ForiegnKey 특성을 추가하려는 것 같아요.

하는 것은 다음과 같이 :

public class S7_Baskets 
{ 
    [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)] 
    [Column(Order = 0)] 
    public string S7_BasketID { get; set; } 

    [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)] 
    [Column(Order = 1)] 
    public int S7_Seqno { get; set; } 

    [ForeignKey("S2_Products")] 
    public int S7_ProductID { get; set; } 
    public virtual S2_Products S2_Product { get; set; } 

}

당신은 또한 모델의 OnModelChange 방법으로 다음과 같은 것을 추가해야 할 수도 있습니다 :

modelBuilder.Entity<S7_Baskets>() 
      .HasRequired(t => t.S2_Products) 
      .WithMany() 
      .HasForeignKey(t => t.S7_ProductID).WillCascadeOnDelete(false); 
+0

감사합니다 [ForeignKey ("S2_Product")] [ForeignKey ("S2_Products")] 아니요 '라고 생각합니다. 제대로 작동했다고 생각합니다! – Beginner

+0

엔티티 이름이 아닌 속성 이름과 일치하도록 [ForiegnKey ("S2_Product")]로 속성을 변경해보십시오. –

+0

내가 마지막으로 내 의견을들은 것처럼 보지 못했다. –

관련 문제