& vs && 在 RavenDb 中查询

& vs && in query in RavenDb

我是 RavenDb 的新手,也许这种行为有一个完美的理由。

下面的表达式给出了不同的(正确的)结果:

var elements = session
.Query<Elements_ByParameterValueAndName.Result, Elements_ByParameterValueAndName>()
.Where(x=>x.ParameterName=="Name"&&x.ParameterValue.StartsWith("VÄNT"))                   
.OfType<DbElement>()
.ToList();

而这不是:

var elements = session
.Query<Elements_ByParameterValueAndName.Result, Elements_ByParameterValueAndName>()
.Where(x=>x.ParameterName=="Name"&x.ParameterValue.StartsWith("VÄNT"))                   
.OfType<DbElement>()
.ToList();

区别在于 where 子句中的双符号。 这是预期的行为吗?我知道在这种情况下单个 & 应该无关紧要,我 "always" 应该使用双 &&。但这很可怕,因为正确的元素数是 25 而实际是 128(最大值)

有什么想法吗?

RavenDB 不支持按位比较。它将始终在服务器端评估双方。