2011-08-22 19 views
5

Ben adlı bir sınıf varC# türetilmiş sınıfa MetadataType ekle

public partial class Contact 
{ 
    public int Id { get; set; } 
    public string Title { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
} 

Ben PersonMetaData denilen

Ben Kişi denilen üçüncü sınıf bildirildi var
public partial class Person : Contact 
{ 
    public string Occupation { get; set; } 
    public string Country { get; set; } 
} 

Kısmi ve Dördüncü sınıf olarak adlandırılan başka Class var Açıklamaları bildirmek için kullanılır Açıklamalar

[MetadataType(typeof(PersonMetadata))] 
    public partial class Person : Contact 
    { 

    } 

    public class PersonMetadata 
    { 
     [StringLength(20, ErrorMessageResourceName = "FirstNameLength", 
     ErrorMessageResourceType = typeof(BasicErrors))] 
     [Required(ErrorMessageResourceName = "FirstNameRequired", 
      ErrorMessageResourceType = typeof(BasicErrors))] 
     public string FirstName { get; set; } 

     [StringLength(20, ErrorMessageResourceName = "LastNameLength", 
     ErrorMessageResourceType = typeof(BasicErrors))] 
     [Required(ErrorMessageResourceName = "LastNameRequired", ErrorMessageResourceType 
     = typeof(BasicErrors))] 
     public string LastName { get; set; } 
    } 

MVC View'ımda çok yazdım. sayfa Kişiye göre mi? Sorun, gerekli ve dize uzunluğu doğrulamaları çalışmıyor. Bu sorun, bir sınıfı devralma ve MetadataType'a başvurmak için kısmi bir sınıf oluştururken oluşur.

Miras yoksa, MetadataType bir Kısmi Sınıf çağrılırken düzgün çalışır.

Herhangi bir Çözüm türetilmiş sınıf için MetadataType kullanırken ve onunla kısmi kullanarak?

Teşekkürler

+0

Yine cevabı kabul etmedi. –

cevap

1

kısmi çıkarın ve bu deneyin:

[MetadataType(typeof(PersonMetadata))] 
public partial class Person : Contact 
{ 
    public string Occupation { get; set; } 
    public string Country { get; set; } 
} 
İlgili konular