Я хотел бы использовать DataAnnotations для базовой клиентской и серверной проверки моих MVC ViewModels. Моя ViewModel выглядит так:
public class MyViewModel
{
public Client Client1 { get; set; }
public Client Client2 { get; set; }
public Product Product { get; set; }
}
Итак, я хотел бы проверить, что у обоих клиентских объектов есть имя и номер телефона, у объекта продукта есть действительная числовая цена и т. Д.
У меня проблема в том, что Client
и Product
являются типами прокси, сгенерированными Visual Studio из веб-службы, поэтому я не могу напрямую добавить атрибуты аннотации к их обязательным свойствам.
Я читал о , используя атрибут MetadataType
, чтобы указать метаданные в альтернативном классе (с дублирующимися свойствами), но в этом случае я даже не могу добавить этот атрибут в Client
и Product
классы.
Или я могу? В папке «Веб-ссылки», в которой сохранено мое решение VS, есть папка для пространства имен веб-службы, содержащая файл с именем Reference.cs
, в котором содержится сгенерированный VS код для типов прокси.
Если я добавлю метаданные к классам здесь, будет ли это работать - или это действительно плохая идея? Или есть просто более простой и понятный способ сделать это?