2013-01-09 41 views
8

如果我使用NorthindModel運行以下查詢,則breeze示例中的NorthwindDataContext只會展開第一個導航屬性。所有其他返回null:Breeze dos不會擴展多個導航屬性路徑嗎?

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!!!!! 
    } 

如果我更改了比客戶展開paramerter列表中的順序設置爲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();   } 

這裏有什麼問題嗎?

回答

10

'expand'方法採用單個參數,該參數可以是數組或逗號分隔的字符串。你給了它兩個論點。所以請嘗試以下內容。

變種查詢= EntityQuery.from( 「訂單明細」) 。凡( 「訂單ID」, 「==」,11069) .expand([ 「Order.Customer」, 「Order.Employee」]) ;

注意[]。

+0

好吧,關於breeze.js的文檔似乎是一團糟....花了我幾個小時。 http://www.breezejs.com/documentation/navigation-properties – AndyK

+0

API Docs有時是更好的地方看看:http://www.breezejs.com/sites/all/apidocs/classes/EntityQuery.html# method_expand –

+0

我在[breezejs.com/documentation/navigation-properties](http://www.breezejs.com/documentation/navigation-properties)更新了'expand'的註釋,希望下一個人不會像你一樣掙扎沒有。還有什麼我們可以做得更清楚嗎?感謝您的反饋。 – Ward