2012-03-10 82 views

回答

0

您可以在nhibernate之外驗證您自己的實體。這裏是一個例子:

ValidatorEngine validatorEngine = new ValidatorEngine(); 
var nhvConfiguration = new FluentConfiguration(); 

nhvConfiguration.SetDefaultValidatorMode(ValidatorMode.UseExternal) 
    .Register(Assembly.Load("Namespace_Where_Validations_Are_Located") 
    .ValidationDefinitions()) 
    .IntegrateWithNHibernate 
    .AvoidingDDLConstraints() 
    .And 
    .AvoidingListenersRegister(); 

validatorEngine.Configure(nhvConfiguration); 

InvalidValue[] invalidValues = validatorEngine.Validate(entityToValidate); 
+0

這是否驗證'entityToValidate'的對象圖中的所有髒項目? – Jonn 2012-03-12 00:17:38

+0

我不相信它,但你可以測試,以確保。 – 2012-03-12 23:46:43

+0

已檢查。它不(或者我一定在做錯事)。我不能實現這一點,因爲它跳過了我想驗證的其他一些髒對象。 – Jonn 2012-03-13 00:19:32