2012-08-31 2 views
0

나는EF 5.0 외래 키 관계

아이디,
orgid,
클라이언트 ID,
......
etc.10 열

그리고 내가 테이블이 다음과 같은 열이 TableA의이 아래 열이있는 B tableAid, (테이블 A의 외래 키) orgresponseA ........ 16 열

간단한 표 B는 표 A의 확장입니다.

TableBConfiguration에 관계를 추가하려고하는데 foregin Key 속성이 표시되지 않습니다. 표 A 및 표 B.와 외래 키 관계를 설정하는 방법

HasRequired(p => p.TableA); 
      .HasForeignKey????? 
      ToTable("dbo.TableB"); 

당신은 당신의 엔티티 클래스에 외래 키 속성을 추가 할 수 있습니다

답변

0

:

public class TableBClass 
{ 
    // ... 
    public int TableAId { get; set; } 
    public TableA TableA { get; set; } 
    // ... 
} 

그리고 매핑을 사용 :

HasRequired(b => b.TableA).WithMany().HasForeignKey(b => b.TableAId); 

FK를 갖고 싶지 않다면 대신 수업에 사용할 수있는 속성 :

HasRequired(b => b.TableA).WithMany().Map(m => m.MapKey("TableAId")); 
+0

감사합니다. ID 키없이 두 번째 솔루션을 사용했습니다. 언제든지 TableB에 TableA Id duplication을 사용하여 데이터를 삽입합니다. 나는 또한 TableB에 PK를 가지고있다. 나는 여기에 아무것도 놓치고 .. ?? – Ducati007

+0

@ Ducati007 : 매핑의 문제는 아닙니다. Insert에서 중복되지 않는 것은 관련된 엔티티가 컨텍스트에 첨부되지 않은 경우에 자주 발생합니다. 새로운 질문을 만들고 중복을 유발하는 코드를 제시하는 것이 좋습니다. – Slauma