2

実行中のプロジェクトに RavenDB を使用したいのですが、その前に、ネストされたオブジェクトをクエリする方法を理解する必要があります...次のようなクラスがあることを説明しましょう。

public class Customer
{
 public string Id { get; set; }
 public string Name { get; set; }
 public IList<Orders> { get; set; }
}

次に Order クラス:

public class Order
{
 public int OrderNumber { get; set; }
 public decimal OrderAmount { get; set; }
 public bool CustomerBilled { get; set; }
}

大量の偽のデータを作成し、それを Raven に追加します。CustomerBilled のみが true に設定されている注文、CustomerBilled が false に設定されている注文、CustomerBilled に true と false が混在している顧客がいます。

私が助けを必要としているのは、CustomerBilled が false に設定された 1 つ以上の Orders を持つ Customers のリストを抽出する方法を考え出すことです。

それを行うためのクエリを作成するにはどうすればよいですか? 私はそれを機能させることができないようで、方法がわかりません。

4

1 に答える 1

4

RavenDBの動的クエリはこれを処理できます。次のようにすれば、必要なことが実行できると思います (申し訳ありませんが、今はコードをコンパイルして検証できません)。

// List of objects - linq
from doc in Customers
where doc.Orders.Any( order => order.CustomeBilled == false)
select doc;

編集:新しいリンクで、「その他のフィルタリングオプション」セクションまで半分下にスクロールします

于 2011-02-09T22:53:57.627 に答える