0

数週間前、raven の 1 つの「コレクション」に複数のタイプを含めることは可能かどうか尋ねたところ、とても気に入りました。しかし今、私はいくつかのインデックス/クエリを書き始めており、問題に直面しています..

これは、型がすべて同じものとして扱われることを意味することに気づきませんでした。「コレクション」は、RavenDB Management Studio で使用される単なる文字列だと思いました。というわけで・・・この状況で・・・

class Prototypes : { // ... }

識別パターンitems/prototypes/#で「items」コレクションに入ります

class Items : { // ... }

識別パターンitems/#で「items」コレクションに入ります

class Schemas : { // ... }

識別パターンitems/##/schemas/##で「items」コレクションに入ります

もしそうなら...

var prototypes = RavenSession.Query<Prototype>().ToArray();

アイテムとスキーマもすべて取得します。インデックス/クエリから取得したいものの種類を特定する方法はありますか?

それらを 1 つのコレクションにグループ化する最初の目的は、物事を整理することであり、多くの異なるコレクションを持たないようにすることでした。コレクション名ではなく、クエリにとって重要なのはクラス名だと思っていたので、このようなことが起こるとは当時は思いもしませんでした。

4

1 に答える 1

0

Prototypeそのクエリからのみアイテムを取得する必要があります。動的クエリに型を指定すると、作成されたインデックスは既に結果をその型にフィルター処理しています。メタデータを使用してフィルタリングしRaven-Entity-Nameますが、これはすべて魔法のようにバックグラウンドで行われます。あまり考えなくていいです。

このクエリから実際に戻ってItems入力していますか? Schemasあなたはすべきではありません。

ところで-これらはエンティティの非常に奇妙な名前です。Customer通常、やなどのより具体的なクラスで動作しますBlogPostPrototypesItems、 のようなクラスを持つことは、非常に一般的なものを構築しており、これらがドメインに関連していSchemasない限り、かなり奇妙に思えます。

于 2013-11-06T15:49:35.920 に答える