更大和相等的谓词不起作用 - RavenDB session.Query

时间:2016-11-24 10:18:24

标签: c# linq lucene ravendb lucene.net

我正在使用session.Query从RavenDB获取数据 我想得到价格字段大于或等于价格参数的文件。 我试试 -

session.Query<Index.Result, Index>() .Where(x => x.Id == Id && x.Price >= Settings.Price) .TransformWith<Transformer, Transformer.Result>() .ToList();

但是我的结果错了 - 只有2个文件而不是3个。 如果我在查询后添加谓词,我得到正确的结果= 3个文档

var a = session.Query<Index.Result, Index>() .Where(x => x.Id == Id) .TransformWith<Transformer, Transformer.Result>() .ToList(); var b = a.Where(x => x.Price >= Settings.Price) .ToList();

为什么session.Query无法正常工作?

在Lucene语法中,我得到了正确的结果 - 3个文档。

session.Advanced.DocumentQuery<Index.Result, Index>() .Where(string.Format("Id :{0} Price : [{1} TO *]" , Id, Price)) .SetResultTransformer("Transformer") .SelectFields<Transformer.Result>() .ToList();

但我想使用session.Query语法。 那么如何使用session.Query语法linq语法根据greeter或相等的谓词得到结果呢?

提前感谢

0 个答案:

没有答案