O/R 매핑을위한 Entity Framework 및 프로젝트의 유효성 검사를위한 DataAnnotations를 사용하기로 결정했으며이를 구현하려고 할 때 이상한 문제가 발생했습니다. DataAnnotations를 사용하여 복합 유형 유효성 검사
이
내가 무슨 짓을했는지 있습니다 :을 내가 가지고있는 다음과 같은 개체 유형은 다음과 같이 Name
및 Address
정의 복잡한 종류
Contact
*******
Int32 Id (not null, Entity Key)
Name Name (not null)
Address Address (not null)
String Phone
String Email
:
Name Address
**** *******
String First (not null) String Street (not null)
String Last (not null) String ZipCode (not null)
String City (not null)
을 다음과 같은 클래스는 내 개체와 동일한 네임 스페이스에 있습니다.
나는 새로운Contact
항목을 만들 때 모든 값
null
을 어디에3210
public class ContactMetadata
{
[Required]
public Name Name { get; set; }
}
[MetadataType(typeof(ContactMetadata))]
partial class Contact { }
그러나 Name
및 Address
유형 대신 Name
및 Address
가 null
자신을 가치있는의, Name
및 Address
의 인스턴스로 채워져있다. 따라서 모든 값이 null
이더라도 Required
특성은 오류를 발생시키지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?
정확히.위와 같은 구조를 사용하여 NameMetadata라는 새로운 클래스를 만들고 이름과 성을 모두 설정했지만 차이는 없습니다. –
지금이 질문에 현상금이 있습니다 - 그리고 당신은 가장 가까운 곳입니다 ...;) –
아, 얼마나 슬픈 일인지 모르겠습니다. 어쩌면 사용자 지정 특성을 만들고 거기에 null 값에 대해 유효성을 검사 해 보셨습니까? – blu