Breeze dos不会扩展多个导航属性路径?

时间:2013-01-09 12:57:14

标签: breeze

如果我使用NorthindModel运行以下查询,那么来自breeze示例的NorthwindDataContext只会显示第一个导航属性。所有其他返回null:

    var query = EntityQuery.from("OrderDetails")
        .where("OrderID", "==", 11069)
        .expand("Order.Customer", "Order.Employee");
    manager.executeQuery(query).then(querySucceeded).fail(queryFailed);

    function querySucceeded(data){
         var customer = data.results[0].Order().Customer();
         var employee = data.results[0].Order().Employee(); // returns null!!!!!
    }

如果我更改扩展参数列表中的顺序,而不是将customer设置为null:

    var query = EntityQuery.from("OrderDetails")
        .where("OrderID", "==", 11069)
        .expand("Order.Employee", "Order.Customer");
    manager.executeQuery(query).then(querySucceeded).fail(queryFailed);

    function querySucceeded(data){
         var customer = data.results[0].Order().Customer(); // returns null!!!!!
         var employee = data.results[0].Order().Employee();         }

这里有什么问题?

1 个答案:

答案 0 :(得分:10)

'expand'方法采用单个参数,该参数是数组或逗号分隔的字符串。你给了它两个论点。所以请尝试以下方法。

var query = EntityQuery.from(“OrderDetails”)         .where(“OrderID”,“==”,11069)          .expand([“Order.Customer”,“Order.Employee”]);

注意[]。