2013-09-11 2 views
0

Я использую Breeze JS версии 1.4.1 в проекте и у меня есть этот запрос:Breeze JS расширение и inlineCount

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 возвращается, но расширить пункт перестал работать. Если я запустил первый запрос, свойство навигации «GatherTasks» вернется в порядке, но с установленным свойством inlineCount это не так. Я использую конечную точку OData, реализованную в службах передачи данных WCF. Кто-нибудь знает причину такого поведения? Это ошибка на ветру js?

Заранее благодарен!

ответ

0

Я не смог воспроизвести проблему.

В моем тесте ниже:

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 и продукты извлекаются правильно. Если вы можете предоставить небольшое решение, воспроизводящее проблему, мы сможем продолжить исследование и выяснить, в чем проблема.

+0

Я сделал так, как вы сказали, пытаясь запросить локальный кеш, но даже при этом он не загружает мои свойства навигации! Я попытался создать модель с использованием базы данных Northwind, и она сработала. В моей модели много референтных ссылок, и я думаю, что ветер теряет эти свойства. Я скоро приведу пример с моей моделью, а затем мы сможем продолжить изучение этой проблемы. Спасибо за помощь! –

Смежные вопросы