验证断开连接的POCO

时间:2010-03-03 04:07:49

标签: validation .net-3.5 poco data-annotations separation-of-concerns

在我的ASP.NET应用程序中,我有数据,业务和UI层的单独项目。

我的业务层由具有声明性验证的普通对象组成,使用DataAnnotations。

问题是,当涉及到保存它们时,我不确定如何处理验证,因为它们不直接绑定到任何数据上下文,而是映射到单独的数据层对象。

有没有办法在这些类型的对象上触发验证?

1 个答案:

答案 0 :(得分:0)

this post上的StackOverflow上找到答案(间接)。 (感谢Atwood& Spolsky!)

原来你必须调用Validator类。

所以我在我的POCO中添加了一个Validate()方法:

public void Validate()
{
    Validator.ValidateObject(this, new ValidationContext(this, null, null));
}

我还必须将.NET 3.5版本的ComponentModel.DataAnnotations DLL换成更新的.NET 4.0版本,其中包括ValidationContext类等。