3
我在獲取NHV與Fluent NHibernate一起工作時遇到了一些麻煩。一個單元測試,我有一個實體,應該失敗驗證最終拋出一個ADO異常。我有NHV配置方式如下:NHibernate Validator未與Fluent NHibernate集成
private static void Init()
{
_SessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2005.ConnectionString(connectionString)
.ShowSql())
.Mappings(m =>
m.FluentMappings.AddFromAssemblyOf<SessionFactory>()
.ExportTo(pathToExportMappingsTo))
.ProxyFactoryFactory("NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu")
.ExposeConfiguration(ConfigureNhibernateValidator)
.BuildSessionFactory();
}
private static void ConfigureNhibernateValidator(Configuration config)
{
var nhvConfiguration = new NHibernate.Validator.Cfg.Loquacious.FluentConfiguration();
nhvConfiguration
.SetDefaultValidatorMode(ValidatorMode.OverrideAttributeWithExternal)
.Register(Assembly.Load("Business.Objects")
.ValidationDefinitions())
.IntegrateWithNHibernate
.RegisteringListeners();
ValidatorEngine validatorEngine = new ValidatorEngine();
validatorEngine.Configure(nhvConfiguration);
ValidatorInitializer.Initialize(config, validatorEngine);
}
我看過了這個配置現在好幾次,搜遍互聯網,試圖找出什麼是錯。我還查看了NHV源代碼中提供的示例,但我一直無法弄清楚爲什麼我的單元測試不會拋出InvalidStateException。我有一個單元測試來驗證應該失敗的同一個實體,它通過驗證引擎直接驗證它,這是有效的。
有沒有人看到上述配置有什麼問題?
我使用NHibernate的3.1,NHibernate的驗證器1.3和功能NHibernate 1.2.0.712