0

在使用了一个轻快的 WebAPI 控制器几个月后,我现在要开始一个使用标准 WebAPI 控制器的新项目(我对它并不那么兴奋,我有一种不好的感觉,不能完全依赖微风...)

无论如何,我正在尝试在客户端配置微风,我遇到了一个异常:

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

以下是我配置微风的方式。

  • 我已将 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);
      });
    }
    

当我调试微风时:

  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 且未设置。

这是为什么 ?

4

1 回答 1

1

没关系,我通过在创建 EntityManager 之前添加以下行来使其工作:

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

Breeze Team,你能解释一下为什么我需要这样做吗,因为我已经在 DataService 中设置了 adpaterName: "OData" .....?

于 2013-08-29T11:56:10.877 回答