我正在使用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或相等的谓词得到结果呢?
提前感谢