È=10=Èт Odata vch 错误

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。有些人建议使用 odatajs-4.0.0-beta-01.min.jshttp://olingo.apache.org/doc/javascript/ 中找到,但在 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 即可使用 breeze(尤其是 ASP.NET WebApi2)。参见:http://www.getbreezenow.com/documentation/aspnet-web-api .And you actually get more capabilities and better performance if you do NOT: See http://www.getbreezenow.com/documentation/odata-vs-webapi