Nhibernate验证器

时间:2011-04-08 03:34:31

标签: nhibernate nhibernate-validator

在我的单元测试中,我在调试时遇到错误。奇怪的是,每当我运行测试时,我都不会得到这个(只有在调试测试时)。每当我尝试用NHibernate Validator验证我的一个实体时,我都会遇到异常。以下行抛出以下异常。

InvalidValue[] invalidValues = validatorEngine.Validate(group);

异常:未配置ProxyFactoryFactory。 使用一个可用的NHibernate.ByteCode提供程序初始化session-factory配置节的'proxyfactory.factory_class'属性。 例: NHibernate.ByteCode.LinFu.ProxyFactoryFactory,NHibernate.ByteCode.LinFu 例: NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle

我正在配置验证器引擎,如下所示:

var nhvConfiguration = new FluentConfiguration();
        nhvConfiguration
           .SetDefaultValidatorMode(ValidatorMode.OverrideAttributeWithExternal)
           .Register(Assembly.Load("Business.Objects")
           .ValidationDefinitions());

        validatorEngine = new ValidatorEngine();
        validatorEngine.Configure(nhvConfiguration);

我不确定这里发生了什么。任何人都知道为什么我在调试时遇到此错误而不是在运行测试时?

我正在使用NHibernate 3.1和NHibernate验证器1.3

2 个答案:

答案 0 :(得分:1)

之前我没有使用过nhibernate验证器,但是nHibernate需要将一个ProxyFactory类指定为配置的一部分,否则它会抛出这种错误

我通常使用xml映射文件和配置文件 这是我通常会添加的行 <property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>

任何代理工厂都可以。归结为偏好。

答案 1 :(得分:0)

抛出此异常的原因与任何nhibernate配置无关。以下文章解释了为什么我得到这个例外。

C# Uncaught exception in unit test