.net WebApi OData + breeze => [问]未处理的拒绝原因(应为空)

Aug*_*oom 6 javascript odata breeze

我有一个带有OData EntitySetController的.net 4.5 Web Api

在客户端,我加载了以下js文件

jquery.min.js
q.min.js
datajs-1.1.1.min.js
breeze.debug.js
toastr.min.js
angular.js
Run Code Online (Sandbox Code Playgroud)

当我调用以下javascript

breeze.config.initializeAdapterInstance("dataService", "OData");
var manager = new breeze.EntityManager(serviceName);

var query = breeze.EntityQuery.from("Customers");

return manager.executeQuery(query).then(success).fail(fail);

function success(data) {
  $log.info("Retrieved " + data.results.length);
  return data.results;
}

function fail(data) {
  $log.info("error " + data);
}
Run Code Online (Sandbox Code Playgroud)

我在我的chrome网络选项卡中看到以下内容,显示元数据和json数据很好地回来了......

Request URL:http://localhost:49971/odata/$metadata
Status Code:200 OK, 1.8KB

Request URL:http://localhost:49971/odata/Customers
Status Code:200 OK, 3.3KB
Run Code Online (Sandbox Code Playgroud)

但是成功回调永远不会触发,失败回调会被执行.有人可以帮忙吗?我只看到了

XHR finished loading: "http://localhost:49971/odata/$metadata". datajs-1.1.1.min.js:14
XHR finished loading: "http://localhost:49971/odata/Customers". datajs-1.1.1.min.js:14
[Q] Unhandled rejection reasons (should be empty): 
[Error]
length: 0
__proto__: Array[0]
 q.js:1010
error Error: OK 
Run Code Online (Sandbox Code Playgroud)

然后我需要将这些数据绑定到ng-grid,ng-form,然后最终将它们发送回数据库到服务器端......

一些更多的代码和屏幕截图

breeze.EntityQuery
  .from("AddressTypes")
  .using(new breeze.EntityManager(serviceName))
  .execute()
  .then(function(data) {
    console.log(data); // never gets here very wierd
  }).fail(function(e) {
    console.log(e); // shows an error object with the AddressType Array
  });
Run Code Online (Sandbox Code Playgroud)

我在失败回调中看到AddresTypes数组...

更新:我暂时在后端切换到BreezeContoller而不是EntitySetController,并注释掉了breeze.config.initializeAdapterInstance("dataService", "OData");我在successCb中得到了我的数组.所以我想我可以推断我遇到了DataJS的问题.真的很想坚持使用EntitySetController ...

Tom*_*mer 1

我有同样的问题。事实证明,回到 datajs 1.0.3 似乎可行。然而,这样做会导致 $expand 不起作用(服务器可以工作,但微风不处理它的导航属性 - >无论其多重性)。

我必须说,我很难找到一个稳定的breezejs 等效项。