Breeze Extended Entity Property загружает только второй запрос

Надеюсь, у кого-то есть лучшее понимание БризаРасширенные сущности, потому что яЯ в тупике! Итак, я создал частичный класс (WO_Rout) на стороне сервера (веб-API с использованием Breeze ')s API) и создал свойство с именем "AssetJobEqNo».

Я прочитал и последовал за Бриздокументация сВот безрезультатно. Следуя руководству, я создал конструктор для этой конкретной сущности "WO_Rout» вот так:

var assets = function () {
    this.AssetJobEqNo = '';
};
var serviceName = 'cms8/workorders';
var manager = new breeze.EntityManager({
    serviceName: serviceName
});
var store = manager.metadataStore;
store.registerEntityTypeCtor('WO_Rout', assets);

Когда я запрашиваю свой контроллер это конкретное свойство "AssetJobEqNo» отправляется и просматривается в необработанных результатах JSON на стороне клиента.

Итак ... вот странная часть, которую я могут выяснить. Если я запускаю запрос, привязанный к кнопке в моем пользовательском интерфейсе, свойство загружается и в объекте, который я ему назначил, НО это 'по-прежнему значение по умолчанию для пустой строки, оно никогда не загружается. Затем я запускаю EXACT тот же запрос, снова получая те же объекты, и на этот раз значение IS там.

В заключение яЯ не понимаю, почему эта расширенная сущностьСвойство s не заполняется первым запросом, но если я запускаю точно такой же запрос, оно загружается во второй раз?

Надеюсь, что все это имеет смысл.

Функция dataService:

function getWorkOrder(reqNo) {
    if (reqNo > 0) {
        var query = breeze.EntityQuery.from("GetWorkOrders");
        query = query.where("req_no", "==", reqNo)
            .expand(["WO_RtHelp.WO_Rout", "WO_RtHelp.WO_Rout.eqptmast", "WO_RtHelp.WO_Act.WO_Resources.persmast", "WO_RtHelp.WO_Act.WO_Resources.Kits", "WO_RtHelp.WO_Act.Activity", "WO_RtHelp.WO_Act.WO_Resources.customer", "WO_RtHelp.WO_Act.WO_Resources.eqptmast", "WO_RtHelp.WO_Act.WO_Resources.invsite.invmast", "WO_RtHelp.WO_Act.WO_Resources.crew"])
        return manager.executeQuery(query);
    } else {
        return throwNotification('Please enter a Work Order number.');
    }
}

функция контроллера для успешных запросовI '

function querySucceeded(data) {

    $scope.WorkOrder = {};

    if (data.results.length === 0) {
        sysErrorNotification('No Work Order with System #' + $scope.workOrderSearchNumber);
    }
    else {
        $scope.WorkOrder = data.results[0];
        $scope.myData = $scope.WorkOrder.WO_RtHelp;
        $('#bottomNav a[href="/WorkOrders/#woMain"]').tab('show');
        resetDataSources();
        $scope.$apply();
    }
}

используя Breeze, Angular, Q и jQuery

Ответы на вопрос(2)

Ваш ответ на вопрос