EF 4.x 데이터베이스 우선 접근 방식을 사용하고있었습니다. 나는 edmx 파일을 가지고 있으며, EntityObject에서 파생 된 C# 클래스를 생성했습니다. 생성 된 클래스를 모델로 사용하는 ASP.NET MVC 4 응용 프로그램이 있습니다. 필수 입력란의 유효성을 검사하는 클라이언트 유효성 검사가 정상적으로 작동했습니다.Entity Framework 5.x 데이터 주석
이제 EF 5로 이동하고 DbContext 생성기를 사용하여 POCO C# 클래스를 생성합니다. 필요한 필드 유효성 검사가 더 이상 EF 5에서 작동하지 않는다는 것을 알았습니다.
문제는 EF 4.x EntityObject 생성기에서 생성 된 클래스에 [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
특성이 있다고 생각합니다. 그러나 EF 5.x POCO 클래스에서는 데이터 주석 특성이 생성되지 않습니다. 따라서 필요한 필드 정보가 손실됩니다.
그래서 제 질문은 다음과 같습니다
- 왜 EF 5.x를의 DbContext 생성기는 edmx 파일에서
[Required]
주석을 생성하지 않는 이유는 무엇입니까? - 에 올바른 데이터 주석을 넣을 수있는 위치는 어디입니까? .tt 파일을 수정하여 [필수] 속성 을 생성합니까? 또는 수동으로 [MetadataType] 부분 클래스를 작성하고 별도의 클래스에 데이터 주석 속성을 정의 하시겠습니까?
도움이 될 수 있습니다. 그러나 나는 결국 [Required] 속성을 추가하기 위해 model.tt 파일을 변경한다. – Hengyi