0
我對RavenDB相當陌生,所以很抱歉,如果我的問題聽起來很愚蠢。我有一個包含DateTime屬性的類。我將這個類的實例存儲在RavenDB中。我已經定義的索引方式如下:RavenDB按索引和日期時間查詢
from doc in docs.Orders
from docItemsItem in ((IEnumerable<dynamic>)doc.Items).DefaultIfEmpty()
select new { Items_Price_Amount = docItemsItem.Price.Amount, Items_Quantity = docItemsItem.Quantity, Date = doc.Date }
http://dl.dropbox.com/u/3055964/Capture.GIF < - 這裏是截圖
下面的類定義:
public class Order
{
public DateTime Date { get; set; }
public IList<OrderItem> Items { get; set; }
public string CustomerId { get; set; }
public Order()
{
Items = new List<OrderItem>();
}
}
現在,當我嘗試查詢RavenDB與上面顯示的指數,查詢完全沒有結果。
var orders = session.Query<Order>("OrdersIndex").Where(o => o.Date > DateTime.Now).ToList(); // orders.Count == 0
如果我忽略從查詢索引,就像這樣:
var orders = session.Query<Order>().Where(o => o.Date > DateTime.Now).ToList(); // orders.Count == 128
創建一個臨時索引和eveything按預期工作。
有沒有人有任何想法我的查詢有什麼問題? 謝謝。
UPDATE
還好吧,我刪除字段日期,項目,價格,數量和項目,數量通過管理工作室(在屏幕截圖所示),而現在的查詢工作正常。任何人都知道爲什麼?明確定義這些字段的目的是什麼?
你可以嘗試提供全面失敗的測試來了解什麼是怎麼回事? – 2012-01-13 21:40:30
感謝您的回覆Ayende,感謝您的幫助和您投入RavenDB的努力:)我將在幾個小時內更新我的文章,並上傳數據庫和完整的工作測試。但可能,這是我的錯,因爲我猜我沒有正確使用索引。 – Davita 2012-01-14 10:21:33