2017-07-05 67 views
1

對於數據庫遷移,我使用StreamQueryDocumentsByEntityName索引。但對於一些實體索引不存在,我得到一個異常:當我打開如何強制在RavenDB中爲實體創建DocumentsByEntityName索引?

烏鴉/ 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之前存在?
或者我可以強制創建該索引?

+0

new RavenDocumentsByEntityName().execute(this.DocumentStore); 沒有幫助... – Heiner

回答

2

查詢索引前調用

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

解決了這個問題。

+0

this.systemStore.DatabaseCommands.CreateRequest($「/ databases/{database}/silverlight/ensureStartup」,HttpMethod.Get).ExecuteRequest();應該這樣做。 – Heiner