2013-03-27 4 views
0

Visual Studio의 Edmx 디자이너와 매우 유사한 디자이너에서 작업하고 있습니다. Edmx 디자이너가 엔터티 및 속성 이름에 적용하는 것과 동일한 유효성 검사를 추가하고 싶습니다. 유효성 검사 규칙 즉, 허용되는 문자와 허용되지 않는 문자를 공유 할 수 있습니까? 엔티티의 길이/속성 이름 및 기타 규칙은 무엇입니까?Entity Framework : 엔터티 이름에 잘못된 문자 목록

+0

C#을 사용중인 경우 http://stackoverflow.com/questions/950616/what-characters-are-in-c-sharp-class-name – SteveW

답변

0

xsds를보십시오. 아티팩트 (CSDL/MSL/SSDL)를로드 할 때 xsd, 2 개의 내부 유효성 검사를 사용하여 2 단계 유효성 검사 1 - xsd에서 대부분 표현할 수없는 추가 규칙을 검사합니다. EF6은 현재 오픈 소스이지만 이전 버전의 xsd 스키마는 변경되지 않았습니다. 그들 here을 찾을 수 있습니다. (매핑 스키마는 MappingSpecification 폴더에 있음).

<xs:simpleType name="TSimpleIdentifier"> 
    <xs:restriction base="xs:string"> 
     <xs:maxLength value="480" /> 
     <!-- The below pattern represents the allowed identifiers in ECMA specification --> 
     <xs:pattern value="[\p{L}\p{Nl}][\p{L}\p{Nl}\p{Nd}\p{Mn}\p{Mc}\p{Pc}\p{Cf}]{0,}" /> 
    </xs:restriction> 
</xs:simpleType> 

것은 당신이 XSD를 귀찮게하지 않으려면 당신이 할 수있는 내부 검증을 활용하고 싶습니다 :

당신이 V3 CSDL 보면 다음과 같이 속성의 이름을 지정 스키마 해당 항목 컬렉션에 XML을로드하기 만하면됩니다. 다시 EF6에서 일부 아티팩트를 추가 할 수있는 오버로드가 추가되었지만 유효하지 않은 경우 예외를 throw하지는 않지만 null 및 out 매개 변수로 오류 목록을 반환합니다 (항목 컬렉션에서 공용 정적 팩토리 메소드를 찾습니다).

+0

고맙습니다. Pawel. 정말 도움이되었습니다! – Naveed

관련 문제