2012-01-26 1 views
1

RIA 서비스 및 EF 코드 우선을 사용하여 사용자 지정 속성을 사용하여 엔터티를 확장 할 수있는 응용 프로그램을 만듭니다 (각 확장 가능한 엔터티는 기본적으로 일대 다 관계 Property 엔티티와 함께).EF 코드 첫 번째 + 리아 서비스의 NotMapped 속성 유효성 확인

또한 이러한 '확장'속성 각각에 대해 '일반'C# 속성 래퍼를 생성하는 코드 생성 메커니즘이 작성되었습니다. 전체 메커니즘이 덕분에 개발자

[NotMapped] 
    public string Version 
    { 
     get 
     { 
      return this.GetProperty(PropertyNameVersionConst) == null 
         ? null 
         : this.GetProperty(PropertyNameVersionConst).StringValue; 
     } 
     set 
     { 
      this.SetProperty(PropertyNameVersionConst, value);   
     } 
    } 

질문은 훨씬 더 투명 - 나는 검증은 ([NotMapped]) 특성에 속성을 사용할 수 있습니까? 언뜻 나는 그것이 가능해서는 안되는 어떤 이유도 보이지 않습니다.

[NotMapped] 
[Required] 
public string Version{...} 

나는 속성이 null이 아닌 값으로 설정되어있는 경우에도 검증 예외 (SaveChanges를에()가) 필수 속성과 같은 속성에 대한 발생되는 문제로 실행했습니다. 제대로 작동하기 시작 속성에 가상 수정을 추가 한 후

답변

1

음,

[NotMapped] 
public virtual string Version 
{ 
    get 
    { 
     return this.GetProperty(PropertyNameVersionConst) == null 
        ? null 
        : this.GetProperty(PropertyNameVersionConst).StringValue; 
    } 
    set 
    { 
     this.SetProperty(PropertyNameVersionConst, value);   
    } 
} 

누구나이 :)에 정교한 수 있을까?

+0

내 모델에는 값 유형 (구조체) 속성이 있으며 '[NotMapped]'로 표시하더라도 EF는 저장하기 전에 값의 유효성을 검사합니다. 나는 또한'가상'수정자를 시도했지만 여전히 기회는 없다. – sos00