2012-04-12 11 views
0

RavenDBでシャーディングを実装したばかりです。初めてそれを実行し、このコード:ShardedDocumentStoreおよびSharded Linqクエリでインデックス作成が失敗する

System.TypeInitializationException:WriteToRaven.Data」のタイプ初期化子

tempShardedDocumentStore = new ShardedDocumentStore(new ShardStrategy(), shards); 
tempShardedDocumentStore.Initialize(); 

IndexCreation.CreateIndexes(typeof(RavenDataAccess).Assembly, tempShardedDocumentStore); 

...このエラーを生成します。 RavenDataAccess 'が例外をスローしました。 ---> System.NotSupportedException:シャード ドキュメントストアにデータベースコマンドがありません。それが必要、それがうまく動作しない場合は、

enter image description here

第二:あなたはShardedDocumentStoreが実際DatabaseCommandsを持っていない、明示的にデータベースへのアクセスが

まずコマンドを取得するために シャードインスタンスを使用する必要がありますこのようにする?

IndexCreation.CreateIndexes(typeof(RavenDataAccess).Assembly, shards[0]); 

もしそうなら、今の私のLINQクエリは動作しません。

System.NotSupportedException:シャードのLINQクエリはRaven.Client.Shard.ShardedDocumentSession.QueryT

で現在 をサポートされていません。
using (IDocumentSession ravenSession = GetRavenSession()) 
{ 
    return ravenSession.Query<T>().OrderByDescending(orderByClause).FirstOrDefault(); 
} 

これを動作させるにはどうすればよいですか?

注:GetRavenSession()は、上記のShardedドキュメントストアからOpenSession()を返します。

答えて

0

ボブホーン どのような構造を使用していますか?私たちは最近、シャーディングのサポートを改良しました。 私たちは現在、シャーディングでlinqをサポートしており、インデックスを作成しています。

+0

私はビルド888を使用しています。 –

+1

Ahhhhh ...私はサーバーバージョン用に888ビルドを使用していますが、古い(701)クライアントアセンブリを使用しているようです。クライアントアセンブリを更新してみましょう... –

関連する問題