2017-07-05 1 views
1

Für DB-Migrationen verwende ich StreamQuery mit DocumentsByEntityName Index. Aber für einige Einheiten des Index existiert nicht ich eine Ausnahme erhalten:Wie Erzwingen, den DocumentsByEntityName-Index für eine Entität in RavenDB zu erstellen?

kann nicht Index mit dem Namen finden: Raven/DocumentsByEntityName

Nach dem DB der Indexerstellung ist noch nicht erstellt, aber sobald ich öffne RavenStudio der Index wird erstellt.

Mein Code:

var databaseCommands = this.DocumentStore.DatabaseCommands.ForDatabase(database); 
var query = new IndexQuery { Query = "Tag:" + "MyEntities"}; 
using (var queryResultStream = databaseCommands.StreamQuery("Raven/DocumentsByEntityName", query, out QueryHeaderInformation _)) 
{ 
    ... 

Wie kann ich, wenn der Index besteht zu überprüfen, bevor die StreamQuery Ausführung?
Oder kann ich die Erstellung dieses Index erzwingen?

+0

new RavenDocumentsByEntityName(). Execute (this.DocumentStore); hilft nicht ... – Heiner

Antwort

2

Aufruf

new RavenDocumentsByEntityName().Execute(databaseCommands, new DocumentConvention()); 

vor den Index das Problem gelöst abfragt.

+0

this.systemStore.DatabaseCommands.CreateRequest ($ "/ databases/{database}/silverlight/sureStartup", HttpMethod.Get) .ExecuteRequest(); sollte das Gleiche tun. – Heiner

Verwandte Themen