9

如果我使用 NorthindModel 运行以下查询,则来自微风示例的 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!!!!!
    }

如果我更改扩展参数列表中的顺序,则将客户设置为空:

    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();         }

这里有什么问题?

4

1 回答 1

11

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

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

注意 []。

于 2013-01-09T18:43:05.357 回答