MVC3 프로젝트에서 작업하고 있습니다. SQL Server 2008에서 데이터베이스를 생성 한 다음 엔티티 데이터 모델을 사용하여 추가합니다. 이제 .edmx를 사용하여 코드를 생성하고 싶지 않습니다. 지금까지는 안정적이지 않아서 유효성 확인을 위해 예외를 할 필요가 없다고 느꼈기 때문에 클래스의 코드를 생성하지 않고 .edmx를 사용하여 유효성 검사를 직접 수행하는 방법이 있는지 궁금합니다. 서버가 필요합니다. 및 클라이언트 측 유효성 검사 건배edmx를 통해 속성 유효성 검사
1
A
답변
6
edmx에서는 수행 할 수 없습니다. 그러나 edmx 생성 클래스에 메타 데이터를 추가하는 클래스가있을 수 있습니다.
[MetadataTypeAttribute(typeof(CustomerMetadata))]
public partial class Customer
{
}
다음은 메타 데이터가 메타 데이터 클래스 속성을했다 :
internal sealed class CustomerMetadata
{
public int ID;
[Required]
[StringLength(60)]
public string Name;
}
편집
이것은 edmx에 의해 생성 된 클래스에 클래스를 포함하는 메타 데이터를 추가합니다 : EF는 모든 클래스를 부분 클래스로 생성합니다. 즉, 같은 클래스에 다른 파일의 기능을 추가 할 수 있습니다. 이 기능을 사용하여 .net에게 메타 데이터 정보가있는 클래스가 있음을 알리는 속성을 추가합니다. 이 경우 Customer
클래스의 메타 데이터가있는 클래스는 CustomerMetadata
입니다.
메타 데이터로 장식하려는 모든 속성이 있습니다. 이 경우 ID는 실제 존재하지 않아도됩니다.
0
(나는 이것을 주석으로 추가했지만 충분한 평판 포인트가 아직 없음) 부분 클래스의 네임 스페이스가 올바른 대소 문자를 포함하여 EF 생성 클래스의 네임 스페이스와 정확히 일치하는지 확인하십시오.
그래서 모델 폴더에 테이블의 동일한 이름을 가진 부분 클래스를 추가해야하며 MetadataTypeAttribute를 사용하여 특성에 대한 유효성을 검사합니다. 진행 방법을 잘 알고 있는지 모르겠다. – Yasminette
좀 더 자세한 설명을 위해 내 게시물을 업데이트했습니다. – linkerro
완벽하게 작동합니다. –