Пользовательские DataAnnotations с услугами RIA

Это слово предупреждения больше, чем вопрос, если вы используете RIAServices с Custom ValidatorAttributes.

Вот Senario, я создавал пользовательскую DataAnnotation, которая проверила бы свойство на основе того, была ли установлена ​​какая-либо серия других свойств, например; если Prop1 был 100, то Prop2, Prop3 или Prop4 не могли быть 0, один из них должен был быть установлен. Я также использую службы RIA, поэтому создал файл ValidatorAttribute my.shared.cs. После написания всех тестов для вспомогательного класса CannotBeZeroIf я начал добавлять атрибуты в класс модели. Это, конечно, когда дело стало очень неправильным. Службы RIA начали запускаться во время CodeGen с исключением NullReferenceException.

CreateRiaClientFilesTask → NullReferenceException

Оказывается, это связано с тем, что я использовал конструктор validator для передачи значений в класс. Перейдя к использованию синтаксиса ObjectInitialization, все было исправлено.

В ответ используется синтаксис ObjectInitializer, использующий службы RIA и пользовательские проверки достоверности данных.

Ответ 1

В ответ используется синтаксис ObjectInitializer при работе с службами RIA и выборочными данными DataAnnotation Validator (это было проще, чем я думал!) -