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

需要更多信息来诊断。元数据中的新类型是什么?isPartial您是否像 CCJS 在model.js ~ln #36中那样为您的类型创建了自定义构造函数?

// 传递 Type、Ctor(此处创建的微风轨道属性)和初始化程序
 metadataStore.registerEntityTypeCtor(
      '会话', function () { this.isPartial = false; }, sessionInitializer);

您可以根据DocCode 示例的“entityExtensionTests”中的测试方法遵循此示例,了解是否已成功将属性添加到类型:

功能 assertFooPropertyIsUnmappedPropertyOfCustomer(经理){
    var custType = manager.metadataStore.getEntityType("Customer");
    var fooProp = custType.getDataProperty('foo');
    好的(fooProp && fooProp.isUnmapped,
       "'foo' 属性应在注册后定义为未映射的属性。");
}

顺便说一句,在即将发布的 Breeze v.1.3.2 中,有更简单的方法可以将局部投影 - 像这样的平面投影 - 映射到EntityTypeusing EntityQuery.toType(). 您仍然需要添加isPartial到类型。

于 2013-04-30T19:34:10.833 回答
0

我有同样的问题,我需要清除我的浏览器缓存,因为它没有得到我更新的 model.js 文件,我刚刚为实体添加了一个新的 metadataStore.registerEntityTypeCtor。

于 2013-07-25T10:35:52.830 回答