このようなclass A
参照を持つ があるとしますclass B
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;
A のインスタンスに対して Create のようなものを呼び出すと、コードは呼び出しますNHibernate.Validator.Engine.ValidatorEngine.Validate
ただし、 のメンバーのみを検証しA (Alpha)
ます。オブジェクトを永続化しようとすると、データベースでnullNHibernate
が許可されないため失敗します。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
毎回検証する行を繰り返さないようにするにはどうすればよいですか?