从Breeze网站运行AngularJS的示例应用程序时出现此错误。
这是控制器breezectl.js的代码:
'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()
使用以下错误消息进入catch(失败)分支:" MergeStrategy of' Disallowed'当具有相同密钥的实体已附加"
这是dataservice.js的代码:
'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;
}
]);
注意:从Restful API(localhost:3000/breeze/northwind/Products
)直接调用Products可正常工作,并返回一组代表集合中所有产品的Json对象。
答案 0 :(得分:0)
非常感谢你们所有人。