【发布时间】:2016-03-02 21:14:54
【问题描述】:
我现在正在尝试使用 RavenDb 创建索引以供以后使用(例如使用索引进行大量删除)。
据我所知,最好的做法是在应用程序启动时创建索引,无需检查索引是否已经存在,因为在这种情况下,它只会被更新(以防发生某些变化)。
鉴于我尝试在 global.asax application_start 事件中构建自己的索引(因为我在 MVC 应用程序中播放)。这是我创建索引的代码:
store.DatabaseCommands.PutIndex("Xlns/ProductItems/ByCatalogueId",
new IndexDefinitionBuilder<ProductItem>
{
Map = items => from product in items
select new
{
CatalogueId = product.CatalogueId
}
}
);
很简单,不是吗? 太糟糕了,当我第一次在空的 RavenDB 上启动应用程序时,它没有引发任何错误(即使我似乎无法使用索引),从第二次开始,它给了我这个错误:@987654322 @
(不那么)有趣的事情是,我在使用 RavenDB 工作室的任何地方都看不到索引,也无法使用它进行查询。所以看起来索引不可用但系统以某种方式知道?
【问题讨论】: