NHVをFluentNHibernateと連携させるのに問題があります。私が持っている単体テストには、検証に失敗する必要があるエンティティがあり、最終的にADO例外がスローされます。NHVを次のように構成しました。
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 Validator 1.3、FluentNHibernate1.2.0.712を使用しています