0

我有一个非常简单的问题,但我还不知道如何用 Breeze 来解决。我有一组 ID,我想从 Breeze Query 中排除这些 ID。在 SQL 中,我会做

SELECT *
FROM Items
WHERE ID NOT IN [...Array...]

我如何对 Breeze 做同样的事情?是否有操作员来执行此操作,或者我该如何手动执行此操作?

4

1 回答 1

0

您可以向 Breeze 查询添加多个谓词。小心以这种方式添加太多,但这是我们如何做到这一点的完美示例 -

function getAllTodos(todoIds) {
    var Predicate = breeze.Predicate;
    var query = breeze.EntityQuery
            .from("Todos")
            .orderBy("CreatedAt");

    var compoundPredicates;
    if (todoIds) {
        var criteriaPredicate;
        $.each(todoIds(), function(index, item) {
            criteriaPredicate = (index === 0)
                ? Predicate.create('todoId', '!=', item)
                : criteriaPredicate.or('todoId', '!=', item);
            if (Predicate.isPredicate(criteriaPredicate)) {
                compoundPredicates = compoundPredicates.and(criteriaPredicate);
            }
        }
    }
}

这(或类似的东西)允许您将谓词组合在一起并获取 ID 不等于数组中的值的所有待办事项。

于 2013-10-14T14:30:01.390 回答