Silverlight 3 Валидация MVVM WCF EF - PullRequest
1 голос
/ 09 июля 2009

Мое приложение для чтения и записи данных SL2 через Entity Framework Model, предоставляемую через WCF. Мы отказались от написания любой валидации пользовательского интерфейса из-за новых элементов управления валидацией, поступивших из SL3.

... Однако, после вчерашнего пробного обновления нашего проекта, мы поняли, что большинство стандартных методов для добавления свойств проверки к бизнес-объектам не могут быть легко применены, когда объекты создаются из модели EF.

У кого-нибудь еще был подобный опыт, если да, то как вы с этим справились?

Спасибо, Mark

1 Ответ

1 голос
/ 09 июля 2009

Вы правы, у вас есть 2 варианта.

  1. В вашей модели или viewmodel, в зависимости от вашей реализации MVVM, в установщиках для ваших свойств выполните там некоторую проверку и выведите исключение, если есть проблема, затем используйте свойство SL3 ValidatesOnException в привязке данных в представлении для каждого проверяемого элемента управления.

  2. используйте MetaDataClasses , чтобы обеспечить функциональные возможности расширения для существующей модели домена


[MetadataClass(typeof(MyMetadataClass))]
public partial class MyClass
{
  public int MyProperty { get; set; }
}

public class MyMetadataClass
{
  [Range(1,100)]
  public int MyProperty{ get; set; }
}
...