2011-02-09 43 views
2

我想爲我正在做的一個項目使用RavenDB,但在此之前,我需要弄清楚如何查詢嵌套對象...讓我解釋一下 我有這樣的一個類:問題在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; } 
} 

我創建了一堆假數據,並把它添加到烏鴉 - 只有一些客戶訂單CustomerBilled設置爲true,部分CustomerBilled設置爲false,以及CustomerBilled上的一些真假。

我需要什麼,是搞清楚如何提取的客戶名單是1個或以上的訂單與CustomerBilled設置爲false幫助。

我將如何創建一個查詢來做到這一點?我似乎無法得到一個工作,我不知道如何。

回答

4

在RavenDB的dynamic queries可以處理這個問題,我覺得有以下應該做你想要(抱歉,我不能編譯代碼現在驗證)

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

編輯的內容:在新鏈路上,滾動一半下降到「更多的過濾選項」部分

+0

偉大的,那工作 - 我只是稍微改變它,像這樣的一些事情:var item =從doc中session.Query () 其中doc.Orders。任何(y => y.CustomerBilled == false) select doc; – thorkia 2011-02-10 00:53:36