5

我正在尝试使用轻风来调用 wcf 服务,bij 配置轻风来使用 OData。但我仍然得到错误:

Unable to initialize OData, Needed to support remote OData services 

我也试过:breeze.config.initializeAdapterInstance("dataService", "OData");

下面我有我想使用的 html 页面。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="../Scripts/jquery-2.0.2.js"></script>
    <script src="../Scripts/knockout-2.2.1.debug.js"></script>
    <script src="../Scripts/q.js"></script>
    <script src="../Scripts/breeze.debug.js"></script>

    <script>
       breeze.core.config.setProperties({
            // the OData provider
            remoteAccessImplementation: breeze.entityModel.remoteAccess_odata,
            // this is the Knockout provider but we also provide a Backbone provider
            //  and we have others on the way
            trackingImplementation: breeze.entityModel.entityTracking_ko
        });


        var myServiceName =             "http://597de06c06404b47b1f1f592c56f6753.cloudapp.net/GoedendoelDataService.svc/?      $format=json";
        var em = new breeze.entityModel.EntityManager( {serviceName: myServiceName });

        var query = breeze.entityModel.EntityQuery.from("Goedendoel")
            .where("title", "startsWith", "G")
            .orderBy("title");

        em.executeQuery(query).then(function(data) {
            // process the results here.
            ko.applyBindings(data);
         }).fail(function (e) {
            alert(e);
        });

    </script>
 </head>
 <body>
    <p data-bind="visible: !results">Fetching data ... </p>
     <ul data-bind="foreach: results, visible: results" style="display: none">
        <li>
            <span data-bind="text:title"></span>
        </li>
     </ul>
</body>
 </html>
4

1 回答 1

7

对于 Breeze 的 OData 支持,您还需要 Microsoft 的datajs库。此处还有更多信息:Breeze OData

于 2013-06-13T20:50:36.663 回答