【问题标题】:Breeze js expand and inlineCountBreeze js展开和inlineCount
【发布时间】:2013-09-12 05:51:55
【问题描述】:

我在一个项目中使用 Breeze js 版本 1.4.1,我有这个查询:

    var query = breeze
                .EntityQuery.from("AnalyzeObjects")
                .expand("GatherTasks, GatherTasks.ObjectFactory")
                .where(predicate)
                .orderBy("Name")  
                .using(manager)
                .execute();

它工作正常,但由于我想添加服务器端分页,我添加了以下内容:

    var query = breeze
                .EntityQuery.from("AnalyzeObjects")
                .expand("GatherTasks, GatherTasks.ObjectFactory")
                .where(predicate)
                .inlineCount()
                .orderBy("Name")
                .take(_take)
                .skip(_skip)                        
                .using(manager)
                .execute();

问题是,查询运行正常,正在返回 inlineCount 属性,但 expand 子句停止工作。如果我运行第一个查询,则“GatherTasks”导航属性返回正常,但设置了 inlineCount 属性时不会返回。 我正在使用 WCF 数据服务中实现的 OData 端点。 有谁知道这种行为的原因?是不是breeze js的bug?

提前致谢!

【问题讨论】:

    标签: odata breeze


    【解决方案1】:

    我无法重现该问题。

    在我下面的测试中:

    test("expand not working with paging", function () {
        var manager = newEm();
        var predicate = Predicate.create("orderID", "<", 10500);
        stop();
        var query = new breeze.EntityQuery()
            .from("Orders")
            .expand("orderDetails, orderDetails.product")
            .where(predicate)
            .inlineCount()
            .orderBy("orderDate")
            .take(2)
            .skip(1)
            .using(manager)
            .execute()
            .then(function (data) {
                var localQuery = breeze.EntityQuery
                    .from('OrderDetails');
    
                var orderDetails = manager.executeQueryLocally(localQuery);
                ok(orderDetails.length > 0, "should not be empty");
    
                var localQuery2 = breeze.EntityQuery
                    .from('Products');
    
                var products = manager.executeQueryLocally(localQuery2);
                ok(products.length > 0, "should not be empty");
            }).fail(testFns.handleFail).fin(start);
    });
    

    orderDetails 和 products 都已正确检索。 如果您可以提供重现问题的小解决方案,我们将能够进一步调查并找出问题所在。

    【讨论】:

    • 我已经按照你说的做了,试图查询本地缓存,但即使这样它也没有加载我的导航属性!我尝试使用 Northwind 数据库创建一个模型并且它有效。我的模型有很多自我参照,我认为微风在这些属性上迷失了方向。我将很快提供一个我的模型示例,然后我们可以进一步研究这个问题。现在感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 2012-09-18
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多