【问题标题】:breezejs: trying to configure breeze with standard ODATA service微风js:尝试使用标准 ODATA 服务配置微风
【发布时间】:2013-09-01 17:22:16
【问题描述】:

在使用一个轻量级 WebAPI 控制器工作了几个月后,我现在要开始一个使用标准 WebAPI 控制器的新项目(我对它并没有那么兴奋,而且我有一种不好的感觉,无法完全靠微风...)

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

´无法获取未定义或空引用的属性 « 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);
      });
    }
    

当我调试微风时:

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

这是为什么呢?

【问题讨论】:

  • 我可以看看这个的小提琴或 plnkr 吗?我正在尝试做同样的事情

标签: javascript breeze


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 2016-07-01
    • 2013-08-04
    • 2013-07-05
    相关资源
    最近更新 更多