Javascript breezejs:尝试使用标准ODATA服务配置breeze

Javascript breezejs:尝试使用标准ODATA服务配置breeze,javascript,breeze,Javascript,Breeze,在使用breeze WebAPI控制器工作了几个月之后,我现在准备开始一个使用标准WebAPI控制器的新项目(我对它没有那么兴奋,我有一种不好的感觉,不能完全依赖breeze…) 无论如何,我试图在客户端配置breeze,但遇到了一个异常: 无法获取未定义或空引用的属性«jsonResultsAdapter» 下面是我如何配置breezejs的 我已经将datajs.js添加到我的项目中(当然也添加到html页面中) 微风服务配置 var service = new breeze.DataSe

在使用breeze WebAPI控制器工作了几个月之后,我现在准备开始一个使用标准WebAPI控制器的新项目(我对它没有那么兴奋,我有一种不好的感觉,不能完全依赖breeze…)

无论如何,我试图在客户端配置breeze,但遇到了一个异常:

无法获取未定义或空引用的属性«jsonResultsAdapter»

下面是我如何配置breezejs的

  • 我已经将datajs.js添加到我的项目中(当然也添加到html页面中)
  • 微风服务配置

    var service = new breeze.DataService({
       serviceName: ('http://localhost:52446/api'),        
       adapterName: 'OData'
     });
    
    var manager = new breeze.EntityManager({ dataService: service });
    
    
    //skip irrelevant code
    
    
    
    function search() {
      var query = breeze.EntityQuery.from("Mandate");
    
      return manager.executeQuery(query.using(service)).then(function (result) {
      }).fail(function (error) {
          logger.error(error);
      });
    }
    
调试breezejs时:

  proto.using = function (obj) {
    if (!obj) return this;
    var eq = this._clone();
    processUsing(eq, {
        entityManager: null,
        dataService: null,
        queryOptions: null,
        fetchStrategy: function (eq, val) { eq.queryOptions = (eq.queryOptions || new QueryOptions()).using(val) },
        mergeStrategy: function (eq, val) { eq.queryOptions = (eq.queryOptions || new QueryOptions()).using(val) },
        jsonResultsAdapter: function (eq, val) { eq.dataService = (eq.dataService || new DataService()).using({ jsonResultsAdapter: val }) }
    }, obj);
    return eq;
};
jsonResultAdapter为null且未设置


为什么呢

没关系,我是通过在创建EntityManager之前添加以下行来实现的:

breeze.config.initializeAdapterInstances({ dataService: "OData" });

Breeze团队,你能解释一下为什么我需要这样做吗,因为我已经在DataService中设置了adpaterName:“OData”

我能看看这把小提琴吗?我也在试着做同样的事情