0

私の目標は、構成ファイルによってNHibernate.Enversを構成することです。私がドキュメントを理解している限り、NHibernateCorexmlファイルにプロパティエントリを追加することで簡単に可能になるはずです。

<?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'に従って無効です-列挙型制約が失敗しました。

私は例外を理解しています。NHibernateコアはname属性の有効なコンテンツをチェックします。NHibernate.Enversプロパティを設定するにはどうすればよいですか?

コードで設定した場合も同じプロパティが機能します。

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

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

1 に答える 1

1

残念ながら、ドキュメントは間違っています。NH Coreはxmlでスキーマ検証を行うため(そしてenversプロパティを認識しないため)、これをNHCore構成に含めることはできません。

Enversドキュメントはまもなく更新されます。

于 2012-12-07T12:42:01.857 に答える