ho una classe chiamataAggiungi MetadataType alla classe derivata in C#
public partial class Contact
{
public int Id { get; set; }
public string Title { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
Ho un'altra classe chiamata
public partial class Person : Contact
{
public string Occupation { get; set; }
public string Country { get; set; }
}
ho la mia terza classe denominata persona che è dichiarata classe parziale e Quarto chiamato PersonMetaData utilizzato per dichiarare annotazioni
[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; }
}
Nella mia vista MVC, ho effettuato una digitazione fortemente pagina basata sulla persona? Il problema è, richiesto e le convalide della lunghezza della stringa non funzionano. Questo problema si verifica quando si eredita una classe e si crea una classe parziale per fare riferimento a MetadataType.
Se non vi è ereditarietà, MetadataType funziona correttamente quando si chiama una classe parziale.
Qualsiasi soluzione quando si utilizza MetadataType per la classe derivata e l'utilizzo parziale con esso ??
Grazie
Ancora non ha accettato la risposta. –