如何强制为 RavenDB 中的实体创建 DocumentsByEntityName 索引?
How to force creating the DocumentsByEntityName index for a entity in RavenDB?
对于数据库迁移,我使用 StreamQuery
和 DocumentsByEntityName
索引。但是对于某些实体,索引不存在我得到一个例外:
找不到名为的索引:Raven/DocumentsByEntityName
创建数据库后还没有创建索引,但是一旦我打开 RavenStudio 就创建了索引。
我的代码:
var databaseCommands = this.DocumentStore.DatabaseCommands.ForDatabase(database);
var query = new IndexQuery { Query = "Tag:" + "MyEntities"};
using (var queryResultStream = databaseCommands.StreamQuery("Raven/DocumentsByEntityName", query, out QueryHeaderInformation _))
{
...
如何在执行StreamQuery
之前检查索引是否存在?
或者我可以强制创建该索引吗?
通话中
new RavenDocumentsByEntityName().Execute(databaseCommands, new DocumentConvention());
之前查询索引解决了问题。
对于数据库迁移,我使用 StreamQuery
和 DocumentsByEntityName
索引。但是对于某些实体,索引不存在我得到一个例外:
找不到名为的索引:Raven/DocumentsByEntityName
创建数据库后还没有创建索引,但是一旦我打开 RavenStudio 就创建了索引。
我的代码:
var databaseCommands = this.DocumentStore.DatabaseCommands.ForDatabase(database);
var query = new IndexQuery { Query = "Tag:" + "MyEntities"};
using (var queryResultStream = databaseCommands.StreamQuery("Raven/DocumentsByEntityName", query, out QueryHeaderInformation _))
{
...
如何在执行StreamQuery
之前检查索引是否存在?
或者我可以强制创建该索引吗?
通话中
new RavenDocumentsByEntityName().Execute(databaseCommands, new DocumentConvention());
之前查询索引解决了问题。