RavenDBの新機能です。ご質問が愚かであればごめんなさい。私は、DateTimeプロパティを含むクラスを持っています。このクラスのインスタンスをRavenDBに格納します。私は、インデックスに次のように定義している:インデックスとDateTimeによる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 <を - ここにスクリーンショットここ
は、クラス定義のです:私は上に示した指標でRavenDBを照会しようとすると、今
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>();
}
}
クエリは結果をまったく生成しません。
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
オールライト、私は(スクリーンショットに示されている)管理スタジオを経由して数量、フィールド日付、アイテム、価格、金額やアイテムを削除し、現在のクエリが正常に動作します。誰にも何の理由がありますか?これらのフィールドを明示的に定義する目的は何ですか?
あなたはここで何が起こっているのかを理解するには、完全な失敗のテストを提供しようとすることはできますか? –
あなたのお返事ありがとうございます。Ayende、あなたのご協力とRavenDBに投資したあなたの努力を感謝します:)私は数時間後に私の投稿を更新し、データベースと完全な作業テストをアップロードします。しかし、おそらく、これは私が正しくインデックスを使用していなかったと思うので、私のせいでした。 – Davita