2011-02-08 3 views
3

누군가이 오류를 이해할 수 있습니까?Entity Framework 4 및 코드 첫 번째 CTP 5 - 누락 된 키

하나 이상의 유효성 검사 오류가 모델 생성 중에 발견되었습니다 :

System.Data.Edm.EdmEntityType는 : EntityType '주소'는 정의 된 키가 없습니다. 이 EntityType의 키를 정의하십시오. System.Data.Edm.EdmEntitySet : EntityType : EntitySet 주소는 정의 된 키가없는 형식 주소를 기반으로합니다.

나는 정의이 엔티티가 :

public class Address 
{ 
    [Key] 
    public int ID; 

    [Required] 
    [MinLength(1)] 
    [MaxLength(200)] 
    public string Address1 { get; set; } 

    [MinLength(1)] 
    [MaxLength(200)] 
    public string Address2 { get; set; } 

    [Required] 
    [MinLength(1)] 
    [MaxLength(10)] 
    public string Zip { get; set; } 

    [MinLength(1)] 
    [MaxLength(100)] 
    public string Province { get; set; } 

    public virtual US_State State { get; set; } 

    [Required] 
    public virtual Country Country { get; set; } 
} 

내 질문 : 오류가 모두 키 속성 데이터 주석뿐만 아니라 PK에 대한 기존의 ID 이름을 가진 클래스에 대한 이해가 않는 방법에 대해 설명합니다.

이 클래스는 의미있는 엔터티가 생성되는 데 필요한 모든 규칙을 충족한다고 생각합니다.

+4

왜 'ID'는 필드가 아닌 속성입니까? –

+0

@Caig : 내가 그것을 놓 쳤기 때문에 ;-) –

답변

8

언급 한 Craig와 마찬가지로 ID 속성을 사용하면 문제가 해결됩니다.

public int ID { get; set; } 

게다가, 당신은 처음 규약에 따라 코드에 의해 객체 식별자 (즉, 기본 키)로 인식됩니다, ID[Key] 속성을 필요가 없습니다.

+0

Doh. 물론, 당신 말이 맞아요! –

관련 문제