假设我有一个名为Foo
的实体,它有一个Bars
列表。 Bars
还包含一个名为isDeleted
的字段,表示特定栏已被软删除。我希望能够查询特定的Foo
并过滤掉使用Breeze在Javascript文件中软删除的Bars
。我认为这会奏效......
var query = breeze.EntityQuery.from('Foo')
.where('Id', '==', id).and('Bars.IsDeleted', '==', false)
.expand('Bars');
然而事实并非如此,有人能告诉我如何在微风中做到这一点吗?如果唯一的解决方案是在BreezeController
中编写一个方法并使用标准的LINQ语法,那么我很好,但我只是想看看它是否会在Breeze中完全起作用。
答案 0 :(得分:0)
查询will automatically "AND" together上有多个.where()
个链。如果你想明确这样做,你需要使用breeze.Predicate对象作为where参数,如下所示:
var query = breeze.EntityQuery.from('Foo').expand('Bars')
.where(new breeze.Predicate('Id', 'eq', id)
.and('Bars.IsDeleted', 'eq', false));
您还可以选择在.or
对象上使用Predicate
或任何其他方法,其中大部分都可以正常链接。
修改:以下是使用多个.where
来电的示例:
var query = breeze.EntityQuery.from('Foo').expand('Bars')
.where('Id', 'eq', id)
.where('Bars.IsDeleted', 'eq', false);