5
说有一个class A
调用像创建一个实例时,有这样的如何使用验证嵌套对象自动
class A
{
[NotNull]
string Alpha;
B bObject;
}
class B
{
[NotNull]
string Beta;
}
A a = new A();
a.Alpha = "test"
a.bObject = new b();
a.bObject.Beta = null;
到class B
参考现在,代码调用NHibernate.Validator.Engine.ValidatorEngine.Validate
但是,它只验证A (Alpha)
的成员。当NHibernate
尝试持续该对象时,它会失败,因为数据库不允许null对于Object
。
是否可以对其进行配置以使验证A
也验证B
的属性?
*编辑:
我解决这个越来越方式目前是手动调用Validate(A.bObject)
任何地方库需要创建/更新A
,例如:
在仓库里面A
public void Update(A entity)
{
//I want to avoid having to do this in every class repository that has a
//reference to B
var errorsList = valEngine.Validate(entity.bObject);
if (errorsList .Length == 0)
{
status = base.Create(entity);
//Simply calls the appropriate NH function to persist the object
}
}
如何避免重复每次验证B
的行?