我一直在玩RavenDB Northwind数据库,并且无法按照Freight分类订单 .
我的索引:
Map = orders => from o in orders
select new {
o.Freight
};
IndexSortOptions.Add(x => x.Freight, SortOptions.Double);
Indexes.Add(x => x.Freight, FieldIndexing.NotAnalyzed);
我的查询:
return sess.Query<Order>("Orders/ByFreight")
.OrderByDescending(x => x.Freight)
.Select(x => x.Freight);
它得到以下订单:
[
32.38,
11.61,
65.83,
41.34 ... ]
这显然是不正确的 . 在工作室,我可以通过运费定义订单,并且订单很好 . 但是,如果在工作室中我将范围指定为超过Freight_Range,我会得到相同的结果 . 在我看来,Raven正在选择Freight_Range字段来排序而不是Freight字段 . 为什么?
1 回答
删除以
Indexes.Add
开头的行 . 你不需要这样做 .使用此语法而不是
IndexSortOptions
:Freight
字段确实是Order
类中定义的双精度数 .