2011-09-20 3 views
3

저는 EF 시트 사이에서 다소 길을 잃었습니다 ... 나머지 자유 세계와 마찬가지로, 저는 정말로 POCO에서 Enum을 사용할 필요가 있습니다. 많은 사람들이 이야기하는 것처럼, 코드를 사용하여 Enum을 매핑하는 것을 완전히 즐긴다. 단지 그림을 그다지 좋아하지 않기 때문이다.Entity Framework 4.1 Fluent API를 사용하여 Enum을 어떻게 매핑합니까?

내가 당황하는 거의 모든 기사에서 필자가 모순되는 정보를 얻고있다. EF 부족을 해결하기 위해 게시 한 사용자 정의 구현 또는 "확장"을 더 잘 구분하지 못하게합니다.

EF June CTP은 열거 형 및 공간 유형에 대한 지원을 발표하지만 디자이너를 사용할 때만 지원이 나타나는 것으로 보입니까? 또한, EF 4.1 Update 1의 6 월 CTP 부분이나 여전히 RTM이 아닙니까?

Fluent API를 사용하여 Enum을 지원하는 방법이 있다면 나를 도와 주거나 올바른 방향으로 나를 조종 할 수있는 사람에게 빚이 있습니다!

감사합니다. Jason

답변

4

열거 형은 현재 EF 버전에서 지원되지 않습니다. 2011 년 6 월 CTP에서 EDMX 및 코드 매핑을 지원하지만 CTP에는 프로덕션 버전이 없습니다. EF 4.1 Update 1 또는 업 사이징 EF 4.2의 일부가 아닙니다. 우리가 .NET 4.5의 일부가 될 것이라는 점을 아주 운이 좋으면 될 것입니다.

지금 열거 형을 사용하는 가장 쉬운 방법은 두 가지 속성을 사용하고 있습니다 : 매핑 INT 및 비 매핑 열거 속성 매핑 INT로 변환 :이 방법을 사용하는 경우이 개체 쿼리 Linq에에서 열거 형을 사용할 수 없습니다

public class Test 
{ 
    public int EnumValue { get; set; } 
    public EnumType Value 
    { 
     get { return (EnumType)EnumValue; } 
     set { EnumValue = (int)value; } 
    } 
} 

.

+1

어쩌면 두 번째 소품에 [NotMapped] 주석이 필요합니까? – programad

+0

감사합니다 Ladislav, 나는 대답이 될 것 같았습니다. 슬픈 팬더. 4.5를 기대해야합니다. 그 동안에 Linq가 엔티티와 함께 ​​작동하는 방식으로 작업을 수행 할 수 있는지 알고 있습니까? – Jason

관련 문제