2017-07-05 11 views
1

DB移行の場合、StreamQueryDocumentsByEntityNameのインデックスを使用します。すぐに私が開くと、まだ作成されていないDBにインデックスを作成した後レイヴン/ DocumentsByEntityNameRavenDBでエンティティのDocumentsByEntityNameインデックスを強制的に作成する方法は?

、しかし:

という名前のインデックスが見つかりませんでした。しかし、いくつかのエンティティのインデックスは、私は例外を取得存在しません。 RavenStudioインデックスが作成されます。

マイコード:私はインデックスがStreamQueryを実行する前に存在しているかどうかを確認するにはどうすればよい

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


また、強制的にインデックスを作成できますか?インデックスを照会する前に

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

を呼び出す

+0

新しいRavenDocumentsByEntityName()。Execute(this.DocumentStore); は役に立ちません... – Heiner

答えて

2

は、問題を解決しました。

+0

this.systemStore.DatabaseCommands.CreateRequest($ "/ databases/{database}/silverlight/ensureStartup"、HttpMethod.Get).ExecuteRequest();同じことをする必要があります。 – Heiner

関連する問題