![](/img/trans.png)
[英]Breeze.js query generation with OData filters (multiple predicates)
[英]Breeze.js OData v4 Error
我正在嘗試使用Breeze.js版本1.5.3創建一個簡單的JavaScript應用程序。 這將消耗OData v4服務。 該服務是使用ASP.NET WebApi 2創建的。
包含的腳本:
<script src="/js/jquery.min.js"></script>
<script src="/js/underscore.js"></script>
<script src="/js/q.js"></script>
<script src="/js/datajs-1.1.3.js"></script>
<script src="/js/breeze.debug.js"></script>
這是配置Breeze的EntityManager的代碼:
var serverAddress = "http://localhost:6405/odata/";
breeze.config.initializeAdapterInstances({ dataService: "webApiOData4" });
var manager = new breeze.EntityManager(serverAddress);
代碼失敗,並出現以下錯誤: Uncaught TypeError: Cannot read property 'oData' of undefined
這是來自breeze.debug.js
的代碼段,失敗了(約16591行):
webApiOData4Ctor.prototype.initialize = function () {
// Aargh... they moved the cheese.
var datajs = core.requireLib("datajs", "Needed to support remote OData v4 services");
OData = datajs.V4.oData; // V4 is undefined, so it throws
OData.json.jsonHandler.recognizeDates = true;
};
我搜索了datajs-1.1.3.js
,未發現“ V4”符號。 此外,該庫的作者說它僅支持OData v3。 有些人建議使用http://olingo.apache.org/doc/javascript/上找到的odatajs-4.0.0-beta-01.min.js
,但是breeze.debug.js
源代碼中對datajs
依賴很明顯。 。 我試圖在頁面中包含odatajs-4.0.0-beta-01.min.js
腳本,但沒有幫助。
有人知道如何使Breeze.js與OData v4服務一起使用嗎?
由於MS OData庫存在許多問題,因此Breeze尚未與OData 4.0一起使用。 他們已經意識到了這些問題,並正在計划盡快解決這些問題。我們正在與他們合作,並在發生這種情況時嘗試釋放對OData 4.0的支持。 我們還將使用“ olingo” datajs庫來支持OData 4.0。
請注意,不需要OData即可使用微風(尤其是在ASP.NET WebApi2中)。 請參閱: http : //www.getbreezenow.com/documentation/aspnet-web-api 。如果不這樣做,您實際上會獲得更多的功能和更好的性能:請參閱http://www.getbreezenow.com/documentation/odata-vs -webapi
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.