.net - 如何添加 NHibernate 配置文件以使用 NHibernate.Search?

标签 .net nhibernate nhibernate.search

我尝试使用从 trunk 构建并与 NHibernate 2.0.1 一起使用的 NHibernate.Search。当我将一些 NHibernate.Search 属性配置添加到配置文件中时:

<property name="hibernate.search.default.directory_provider">NHibernate.Search.Storage.RAMDirectoryProvider, NHibernate.Search</property>
<property name="hibernate.search.default.indexBase">~\index\</property>

我收到无效的 System.Xml.Schema.XmlSchemaException:枚举约束失败。当我使用时:

var configuration = new Configuration().Configure();

那么我该如何解决这个问题呢?

最佳答案

确保您定义的 NHibernate.Search 属性包含在 nhs-configuration block 中,而不是标准 NHibernate 配置 block 中。 您的 web.config 应如下所示:

<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
<section name="nhs-configuration" type="NHibernate.Search.Cfg.ConfigurationSectionHandler, NHibernate.Search" />

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <!-- nhibernate configuration block -->
</hibernate-configuration>

<nhs-configuration xmlns='urn:nhs-configuration-1.0'>
    <search-factory>
        <property name='hibernate.search.default.directory_provider'>NHibernate.Search.Store.FSDirectoryProvider, NHibernate.Search</property>

        <property name='hibernate.search.default.indexBase'>...</property>
    </search-factory>
</nhs-configuration>

关于.net - 如何添加 NHibernate 配置文件以使用 NHibernate.Search?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/490460/

相关文章:

尊重HTML标记的Lucene.NET搜索突出显示

c# - 位数组相等

c# - 通过网络共享锁定行为不同

c# - 没有主键的 NHibernate 字典映射

mysql - 似乎无法使用 NHibernate 从 MySQL DB 中获取我的数据

nhibernate - NHibernate的示例查询功能是否有很好的文档?

.net - SubSonic 3.0 中的关系和延迟加载

.net - WinForms 锚定控件无法正确最大化

单个实体引用的 WCF 序列化和 NHibernate 代理

nhibernate - 是否有一个 NHibernate 标准实际上什么都不做?