2011-09-13 10 views
2

[Required]을 엔터티 클래스에 추가하면 눈에 잘 띄지 않는 유효성 검사가 제대로 작동합니다.MVC 3의 클라이언트 측 유효성 검사 먼저 데이터베이스

[Required]가 추가되지 않았습니다. 여기서 데이터베이스 (first. *. edmx)를 사용하여 엔티티 클래스를 생성합니다. 내 edmx를 업데이트 할 때

[Required] 
public int {get;set;} 

[Required] 같은

내가 수동으로 개체 속성에 [필수]을 추가 할 경우, 뭔가 삭제합니다.

내 질문에 어떻게 EF에서 데이터베이스를 먼저 사용하면 클라이언트 쪽 유효성 검사를 수행 할 수 있습니다.

답변

3

엔티티의 부분 클래스를 만들고 MetadataType 특성을 사용하십시오. 아래 예제를 참조하십시오 :

[MetadataType(typeof(MyEntity.Metadata))] 
public partial class MyEntity 
{ 
    private sealed class Metadata 
    { 
     [Required(ErrorMessage = "* required")] 
     public string MyRequiredField { get; set; } 
    } 

    // Add other similar properties here... 
} 

이 클래스는 디자이너 생성 코드의 변경에 영향을받지 않습니다.

+0

MyEntity는 데이터베이스에서 처음 생성되는 클래스입니다. [this] (http://www.elevenwinds.com/data-validation-in-asp-net-mvc-database- first) 나도 도움이되었습니다. – stom

0

이것은 ado.net 팀에게 질문입니다. 데이터베이스 디자인이 응용 프로그램 논리의 마스터이기 때문에 데이터베이스에서 첫 번째 EF를 사용하면 도메인 모델이 데이터베이스의 제약 조건을 상속한다고 가정합니다.

관련 문제