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