我的应用程序是通过 WCF 公开的实体框架模型读取和写入数据的 SL2。由于来自 SL3 的令人兴奋的新验证控件,我们拒绝编写任何 UI 验证。
...但是,在昨天对我们的项目进行了试用更新之后,我们意识到,当从 EF 模型创建对象时,大多数将验证属性附加到业务对象的标准实践都不能轻易应用。
有没有人有任何类似的经历,如果有,你是如何解决这个问题的?
谢谢,马克
我的应用程序是通过 WCF 公开的实体框架模型读取和写入数据的 SL2。由于来自 SL3 的令人兴奋的新验证控件,我们拒绝编写任何 UI 验证。
...但是,在昨天对我们的项目进行了试用更新之后,我们意识到,当从 EF 模型创建对象时,大多数将验证属性附加到业务对象的标准实践都不能轻易应用。
有没有人有任何类似的经历,如果有,你是如何解决这个问题的?
谢谢,马克
你是对的,你有2个选择。
在您的模型或视图模型中,取决于您的 MVVM 的实现,在您的属性的设置器中,在那里进行一些验证,如果有问题,则抛出异常,然后在每个控件的视图上的数据绑定中使用 SL3 ValidatesOnException 属性被验证。
使用MetaDataClasses为您现有的域模型提供附加功能
[MetadataClass(typeof(MyMetadataClass))]
public partial class MyClass
{
public int MyProperty { get; set; }
}
public class MyMetadataClass
{
[Range(1,100)]
public int MyProperty{ get; set; }
}