1

Durandal、Breeze、およびノックアウトで WebApi OData を実装しようとしています。しかし、私は常にエラーを下回っています:

OData を初期化できません。リモート OData サービスをサポートするために必要

ビューモデルを作成しました:

var my = {}; //my namespace
$(function () {
    var serverAddress = "/odata/";
    breeze.config.initializeAdapterInstances({ dataService: "OData" });
    var manager = new breeze.EntityManager(serverAddress);

    my.vm = {
        customers: ko.observableArray([]),
        load: function () {
            var query = breeze.EntityQuery.from("Customers");
            manager.executeQuery(query, function (data) {
                var results = data.results;
                $.each(data.results, function (i, c) {
                    my.vm.customers.push(c);
                });
            });
        }
    }

    my.vm.load();
    ko.applyBindings(my.vm);
});

BreezWebApiConfig で述べた:

public static void RegisterBreezePreStart() {
  GlobalConfiguration.Configuration.Routes.MapHttpRoute(
    name: "BreezeApi",
    routeTemplate: "api/{controller}/{action}"
  );
}

および登録された WebApi :

public static void Register(HttpConfiguration config)
{
  config.Routes.MapODataRoute("odata", "odata", GetEdmModel());
  config.Routes.MapHttpRoute(
      name: "DefaultApi",
      routeTemplate: "api/{controller}/{id}",
      defaults: new { id = RouteParameter.Optional }
  );
}

誰かがアイデアを持っているなら、私に提案してください。

4

1 に答える 1

6

私は私の問題を解決しました、私は参照を取ることができませんでした:

datajs-1.1.0.js

Breeze OData の機能は、datajs ライブラリに依存しています。

于 2013-03-09T17:35:19.693 に答える