所以我们希望能够通过电话号码搜索一个人。从这篇SO 帖子中,我收集到通过作为列表的导航属性添加 where 子句还不能轻而易举地工作。
这对我来说没问题,因为微风提供了一种很棒的方式来处理服务器端属性。但是,当我在服务器上编写查询时,我需要将额外的 where 子句作为“OR”添加到查询中,这样就不会干扰客户端上已有的 where 子句。我正在服务器上执行此操作,但它不起作用。(注意这是使用 DevForce Predicate Builder):
var pred = PredicateBuilder.False<Person>();
pred.Or(x => x.PhoneNumbers.Any(y => y.Value.StartsWith(searchString)));
var qry = _contextProvider.Context.People.Where(pred);
我是在构建谓词错误还是我正在做的事情被添加为“和”子句,从而干扰了来自客户端的其他 where 子句?