Проверка Silverlight 3 MVVM WCF EF

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

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

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

Спасибо, Марк


person Mark Cooper    schedule 09.07.2009    source источник


Ответы (1)


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

  1. В вашей модели или модели представления, в зависимости от вашей реализации 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; }
}
person Neil    schedule 09.07.2009
comment
Похоже, это хорошая идея (класс метаданных) - попробую и дам вам знать. - person Mark Cooper; 12.07.2009