2013-08-29 25 views
0

用微風的WebAPI控制器工作了幾個月後,我現在要用一個標準的WebAPI控制器開始一個新項目(我對它並不感到興奮,已經有了一個不好的感覺不能夠完全依靠微風......)breezejs:試圖用標準的ODATA服務來配置微風

無論如何,我想在客戶端配置微風,我遇到一個例外:

'Cannot得到屬性«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爲空並且未設置。

這是爲什麼?

+0

我可以看到這個小提琴或小提琴嗎?我正在嘗試做同樣的事情 – Maslow

回答

1

沒關係,我把它通過創建一個EntityManager之前添加以下行的工作:

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

微風團隊,你能只是解釋爲什麼我需要做的,因爲我已經設置adpaterName:DataService中的「OData」.....?