У меня есть класс с именем
public partial class Contact
{
public int Id { get; set; }
public string Title { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
У меня есть другой класс с именем
public partial class Person : Contact
{
public string Occupation { get; set; }
public string Country { get; set; }
}
У меня есть третий класс с именем Person, который объявлен как Partial, и четвертый класс с именем PersonMetaData, используемый для объявления аннотаций
[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 Посмотреть, я сделал строго типизированную страницу на основе Person? Проблема в том, что обязательная проверка длины строки не работает. Эта проблема возникает при наследовании класса и создании частичного класса для ссылки на MetadataType.
Если нет наследования, то MetadataType отлично работает при вызове частичного класса.
Любые решения при использовании MetadataType для производного класса и использовании partial с Это ??
Спасибо