2012-08-04 4 views
0

EF 코드를 사용하여 먼저 genereted 열의 이름을 제어하려고합니다. SELF를 참조 할 때. 시도한 [ForeignKey][Column] 속성 [Column]이 작동하지 않고 [ForeignKey]이 문제를 일으키는 것으로 보이는 관계를 강제합니다. [ForeignKey] 속성을 사용하여이 클래스에 연결된 다른 클래스/테이블의 열 이름을 설정했습니다. 테이블을 얻을 수 (ID ..., Episode_ID)EF 코드 first - 관계에 대해 생성 된 열 이름을 변경하십시오.

답변

1

당신이 외래 키가없는 경우 -

public class Episodes 
{ 
    public long ID {get; set;} 
    // ... other properties 

    public List<Episodes> Children { get; set; } 
} 

테이블 ( ID, ..., ParentID이) 원하는 되세요 컬럼을 엔티티 클래스의 속성으로 표시하면 Fluent API에서만 열 이름을 정의 할 수 있습니다.

modelBuilder.Entity<Episodes>() 
    .HasMany(e => e.Children) 
    .WithOptional() 
    .Map(m => m.MapKey("ParentID")); 

rent는 선택 사항입니다 (ParentID은 DB 테이블의 null 가능 열임). 트리에 "루트"가 있어야합니다. 즉, 부모가 더 이상없는 에피소드입니다. 따라서 적어도이 에피소드에서는 ParentID입니다. 열은 NULL이어야합니다.

+0

응답이 좋을 때 -하지만 이렇게하면 EF가 데이터베이스를 생성 할 때 런타임 오류가 발생합니다. "시퀀스에 요소가 없습니다" –

+0

@SimonThompson :이 예외를 정확히 throw하는 코드와 코드 줄을 표시 할 수 있습니까? – Slauma

+0

어딘가에 ben gremlins가 있어야합니다 - 현재 작동 중입니다. 답변 해주셔서 감사합니다 –

관련 문제