2013-07-28 3 views
1

데이터 주석을 다른 속성 이름의 맨 위를 제외하고 정의하고 싶습니다. 나는이 같은 내 코드를 작성할 수 있습니다 알고C# 데이터 주석

public class student 
{ 
    [Required] 
    public string Name {get; set;} 
} 

하지만 SQL 데이터 클래스에 Linq를 사용하고 난 이러한 클래스를 변경하지 않습니다. 데이터 주석만으로 새로운 클래스를 정의 할 수 있다는 것을 알고 있지만, 다른 방법이 있는지 알고 싶습니다. 영어가 불쌍한 것 같아서 죄송합니다.

답변

0

DataAnnotations 속성을 클래스의 멤버로 꾸밀 수 있습니다. 또는 메타 데이터 버디 클래스에있을 수 있습니다. Here은 그 접근법을 설명하는 기사입니다.

하지만 실제 수업은 MetadataType으로 장식해야하기 때문에 Linq-To-Sql을 사용하여 수행 할 수 있는지 여부는 알 수 없습니다. 다른 파일에 데이터 주석을 추가 할 경우

0

:

응용 프로그램 시작 :

protected void Application_Start() 
     { 
      //... 
      MetadataExtensions.Register(); 
     } 

등록 :

public static class MetadataExtensions 
{ 
    private static void Register(Type type, Type associatedMetadataType) 
    { 
     var provider = new AssociatedMetadataTypeTypeDescriptionProvider(type, associatedMetadataType); 
     TypeDescriptor.AddProviderTransparent(provider, type); 
    } 

    public static void Register() 
    { 
     Register(typeof(Student), typeof(StudentMetadata)); 
    } 
} 

(이 파일에 대한 필요를 주석을 지정하지 특수 효과가있는 속성 만 재 선언) :

public class StudentMetadata 
{ 
    [Required] 
    public string Name { get; set; } 
}