2

現在ジョンパパのホットタオルで遊んでいると、現在奇妙なエラーが発生しています:

TypeError: Object [object Object] has no method 'isPartial'

私はこれを調べてきましたが、成功していません。私が行ったのは、新しい種類のエンティティを作成したことだけです。

この問題についてさらに情報を提供する必要があるかどうかわかりません。助けてください!

ありがとう :)

以下は完全なエラーです。

"TypeError: Object [object Object] has no method 'isPartial'
at proto.setProperty (http://localhost:13763/scripts/breeze.debug.js:13153:31)
at http://localhost:13763/scripts/breeze.debug.js:5833:30
at Object.objectForEach (http://localhost:13763/scripts/breeze.debug.js:311:17)
at proto.createEntity (http://localhost:13763/scripts/breeze.debug.js:5832:22)
at proto.createEntity (http://localhost:13763/scripts/breeze.debug.js:9876:18)
at dtoToEntityMapper (http://localhost:13763/App/services/breeze.partial-entities.js:32:38)
at Array.map (native)
at Object.mapDtosToEntities (http://localhost:13763/App/services/breeze.partial-entities.js:23:25)
at querySucceeded (http://localhost:13763/App/services/datacontext.js:64:42)

From previous event:
at Object.getMyEntities (http://localhost:13763/App/services/datacontext.js:60:18)
at Object.activate (http://localhost:13763/App/viewmodels/home.js:6:32)
at activate (http://localhost:13763/App/durandal/viewModel.js:74:38)
at Object.<anonymous> (http://localhost:13763/App/durandal/viewModel.js:231:37)
at Object.<anonymous> (http://localhost:13763/scripts/jquery-1.9.1.min.js:3:9221)
at c (http://localhost:13763/scripts/jquery-1.9.1.min.js:3:7857)
at Object.p.add [as done] (http://localhost:13763/scripts/jquery-1.9.1.min.js:3:8167)
at Array.<anonymous> (http://localhost:13763/scripts/jquery-1.9.1.min.js:3:9198)"
4

2 に答える 2

3

診断するにはより多くの情報が必要です。新しい型はメタデータにあるか? isPartialCCJS がmodel.js ~ln #36で行うように、を定義する型のカスタム コンストラクターを作成しましたか?

// Type、Ctor (ここで作成されたブリーズ トラック プロパティ)、および初期化子を渡します
 metadataStore.registerEntityTypeCtor(
      'セッション', function () { this.isPartial = false; }、セッション初期化子);

DocCode サンプルの「entityExtensionTests」のテスト メソッドに基づいて、次の例に従って、型にプロパティが正常に追加されたかどうかを確認できます。

関数 assertFooPropertyIsUnmappedPropertyOfCustomer(マネージャー) {
    var custType = manager.metadataStore.getEntityType("Customer");
    var fooProp = custType.getDataProperty('foo');
    ok(fooProp && fooProp.isUnmapped,
       "'foo' プロパティは、登録後にマップされていないプロパティとして定義する必要があります。");
}

ところで、次の Breeze v.1.3.2 では、パーシャル (このようなフラット プロジェクション) を using にマップするはるかに簡単な方法がありEntityTypeますEntityQuery.toType()isPartialタイプに追加する必要があります。

于 2013-04-30T19:34:10.833 に答える
0

同じ問題があり、エンティティの新しいmetadataStore.registerEntityTypeCtorを追加したばかりの更新されたmodel.jsファイルを取得していなかったため、ブラウザのキャッシュをクリアする必要がありました。

于 2013-07-25T10:35:52.830 に答える