0

ブリーズ WebAPI コントローラーで数か月作業した後、標準の WebAPI コントローラーを使用して新しいプロジェクトを開始しようとしています (私はそれについてそれほど興奮していません。ブリーズに完全に依存することができず、悪い予感がしています。 ...)

とにかく、クライアント側でそよ風を構成しようとしていますが、例外が発生しています:

「未定義または null 参照のプロパティ « jsonResultsAdapter » を取得できません」

これが Breezejs の設定方法です。

  • プロジェクトに(そしてもちろんhtmlページにも)datajs.jsを追加しました
  • ブリーズサービス構成

    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 が null であり、設定されていません。

何故ですか ?

4

1 に答える 1

1

気にしないで、EntityManager を作成する前に次の行を追加して動作させました。

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

Breeze チーム、DataService で adpaterName: "OData" を既に設定しているので、なぜそれを行う必要があるのか​​説明していただけますか ..... ?

于 2013-08-29T11:56:10.877 に答える