Я решил использовать Entity Framework для O / R Mapping и DataAnnotations для проверки в моем проекте, и теперь я столкнулся со странной проблемой при попытке реализовать это.
Вот что я сделал:
У меня есть следующий тип сущности
Contact
*******
Int32 Id (not null, Entity Key)
Name Name (not null)
Address Address (not null)
String Phone
String Email
, где Name
и Address
- комплексные типы, определенные следующим образом:
Name Address
**** *******
String First (not null) String Street (not null)
String Last (not null) String ZipCode (not null)
String City (not null)
И следующие классы находятся в том же пространстве имен, что и мои сущности:
public class ContactMetadata
{
[Required]
public Name Name { get; set; }
}
[MetadataType(typeof(ContactMetadata))]
partial class Contact { }
Однако, когда я создаю новый элемент Contact
, типы Name
и Address
заполняются экземплярами Name
и Address
, где все значения равны null
вместо Name
и Address
имеющие null
сами значения. Таким образом, атрибут Required
не выдает никаких ошибок, хотя все значения null
. Как мне обойти это?