2011-03-17 3 views
3

코드 우선을 사용하여 일대일 관계를 만들 때 현재 다음과 같은 오류가 발생합니다. System.Data.Edm.EdmAssociationEnd :: Multiplicity is not valid 'C001_Holding_Teste_C001_Holding'관계에서 'C001_Holding_Teste_C001_Holding_Source'역할에 있습니다.Entity Framework 코드가있는 기본 키의 일대일 관계

[Table("C001_Holding", Schema = "Cad")] 
public partial class C001_Holding 
{ 
    [Key] 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int C001_Id { get; set; } 

    [MaxLength(16)] 
    public string C001_Codigo { get; set; } 

    [MaxLength(100)] 
    public string C001_Descricao { get; set; } 
} 

public class C001_Holding_Test 
{ 
    [Key] 
    public int C001_Id { get; set; } 
    [MaxLength(100)] 
    public string C001_TestInfo { get; set; } 

    [ForeignKey("C001_Id")] 
    public virtual C001_Holding C001_Holding { get; set; } 
} 

내가 이것들을 만들 유창함 사용하지 않았다 종속 역할 키 속성을 의미하기 때문에, 종속 역할의 다양성의 상한은 1 내 개체 정의는 다음과 같습니다해야합니다 관계, 왜 이런 일이 일어나는 지 아는 사람 있습니까?

Tks.

답변

5

내비게이션 속성에 ForeignKey 속성을 배치 한 다음 외래 키로 가져올 속성의 이름을 지정하는 것이 가능합니다. 또는 외래 키 속성에 배치 한 다음 관계를 나타내는 탐색 속성의 이름을 지정할 수 있습니다. 다음과 같이 표시됩니다.

public class C001_Holding_Test 
{ 
    [Key] 
    [ForeignKey("C001_Holding")] 
    public int C001_Id { get; set; } 

    [MaxLength(100)] 
    public string C001_TestInfo { get; set; } 

    public virtual C001_Holding C001_Holding { get; set; } 
} 

어떤 이유로이 첫 번째 옵션은 첫 번째 오류가 발생하는 동안 작동합니다. (두 가지 옵션 모두 같은 관계를 나타내야하기 때문에 나에게 버그라고 느껴진다. 또는 실제로 볼 수없는 의미상의 차이가있다 ...)

+1

감사합니다. Slauma, 매력처럼 작동했습니다. –