NHibernate.Envers:由NHibernate核心xml配置

时间:2012-12-07 11:15:17

标签: c# nhibernate

我的目标是通过配置文件配置NHibernate.Envers。至于我对文档的理解,可以通过在NHibernate Core xml文件中添加属性条目来轻松实现。

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" >
  <session-factory name="NHibernate.Test">
    ....
    <property name="nhibernate.envers.audit_table_suffix">_history</property>
  </session-factory>
</hibernate-configuration>

但这会导致异常:

  

'name'属性无效 - 值'nhibernate.envers.audit_table_suffix'根据其数据类型'String'无效 - Enumeration约束失败。

我理解异常,NHibernate核心检查name属性中的有效内容。如何设置NHibernate.Envers属性?

当我按代码设置时,相同的属性有效:

        cfg = new Configuration();
        cfg.Configure("NHibernate.cfg.xml");

        // NHibernate.Envers Configuration
        cfg.SetProperty("nhibernate.envers.audit_table_suffix", "_history");

1 个答案:

答案 0 :(得分:1)

不幸的是文档错了。你不能把它放在你的NH Core配置中,因为NH Core会对你的xml进行模式验证(并且不知道envers属性)。

我将很快更新Envers文档。