2014-05-08 3 views
0

Breeze의 웹 사이트에서 AngularJS 용 샘플 응용 프로그램을 실행할 때이 오류가 발생합니다. Breeze 오류 : MergeStrategy가 'Disallowed'

는 컨트롤러 breezectl.js 코드입니다 : " '허용되지 않는'의 MergeStrategy 당신이 엔티티를 연결하는 것을 허용하지 않습니다

'use strict'; 

angular.module('mean').controller('breezeController', ['$scope', 'Global', 'dataservice', 
    function($scope, Global, dataservice) { 
     $scope.global = Global; 
     $scope.breeze = { 
      name: 'Breeze Sample' 
     }; 

     //$scope.results = dataservice; 

     function getProducts() { 
      function success(data) { 
       $scope.results = data; 
      } 
      function failed(error) { 
       $scope.results = error.message; 
      } 

      dataservice.getAllProducts() 
       .then(success) 
       .catch(failed); 
     } 

     getProducts(); 
    } 
]); 

dataservice.getAllProducts()이 캐치를 입력이 오류 메시지와 함께 지점 (실패)

'use strict'; 

angular.module('mean').factory('dataservice', ['breeze', 'entityManagerFactory', 
    function(breeze, entityManagerFactory) { 
     var manager = entityManagerFactory.newManager(); 

     function getAllProducts(){ 
      function success(data) { 
       return data.results; 
      } 

      return breeze.EntityQuery.from('Products') 
       .using(manager).execute() 
       .then(success); 
     } 


     var service = { 
      getAllProducts: getAllProducts 
     }; 
     return service; 
    } 
]); 

참고 : 홍보에 직접 전화 같은 키를 가진 개체가 이미 "연결되어있는 경우

이 dataservice.js 코드입니다 Restful API (localhost:3000/breeze/northwind/Products)의 oduct는 올바르게 작동하고 컬렉션의 모든 제품을 나타내는 Json 객체 세트를 반환합니다.

+0

'manager.createEntity()'와 같은 ID를 사용하여 새로운 엔티티를 추가하려고하는 것과 같은 소리가납니다 (null은 동일한 ID입니다). –

+0

@PWKad 대단히 감사합니다. 나열하고 싶다. 죄송하지만 문제는 아닙니다. 나는 더 이상 코드를 작성하지 않았다. – jotavans

+0

Product 엔터티에 대한 Breeze 메타 데이터의 모양을 표시 할 수 있습니까? –

답변

0

스티브 슈미트가 맞습니다. 내 metadata.json은 데이터베이스 컬렉션과 다른 이름으로 "defaultResourceName"속성을 가졌습니다. "제품"을 "제품"으로 변경했으며 이것이 작동합니다.

여러분 모두에게 감사드립니다.

관련 문제