BreezeJS core.config更改

BreezeJS core.config更改,breeze,Breeze,在上一次构建中,我使用了setProperties和ommittedTrackingImplementation,我决定手动使用knockout来加快速度(我有很多实体) 现在它改成了这种语法,即使我注释掉了“ko”行,它仍然会创建可观察的对象,有没有办法防止这种情况发生 core.config.initializeAdapterInstances({ // modelLibrary: "ko", dataService: "webApi" }); 我在您的评

在上一次构建中,我使用了setProperties和ommittedTrackingImplementation,我决定手动使用knockout来加快速度(我有很多实体)

现在它改成了这种语法,即使我注释掉了“ko”行,它仍然会创建可观察的对象,有没有办法防止这种情况发生

core.config.initializeAdapterInstances({
//        modelLibrary: "ko",
          dataService: "webApi"
});

我在您的评论中看到您尝试了
…modelLibrary:backingStore…
。我本来打算提出这个建议的。但是我担心你的手动KO属性会绕过backingStore属性,轮子会脱落。我认为如果您添加了读取和写入backingStore属性的KO Computes,它可能会起作用(还没有尝试过)。。。但是他们必须有不同的,不冲突的名字,对吗

让我们回到根本原因上来。使用ko模型库有什么太慢的地方,你在做什么更快?我很难想象KO属性的定义会是一个性能问题。你是如何测量速度差的?速度有什么不同


另外,您是否尝试过在自己的实体类型构造函数中定义KO属性,并将该构造函数注册到
元数据存储中,如“”中所述?

我正在将大约5000-10000个实体加载到缓存中,这些是“来宾”,将在晚上从来宾列表中勾选,我需要离线存储它们,因为若我失去连接,那个么应用程序将无法完成它的工作。我也在移动设备上运行,当我使用KO时,服务器上的每一个实体都会变成一个可观察属性列表,这显然是杀伤力过大,导致iPhone上的safari崩溃。 相反,我等待用户使用breezejs本地查询从10000个实体中进行搜索,然后为搜索结果中的每个来宾实例化一个具有可观察对象的来宾。这使我可以使用knockout进行绑定,而不必考虑其他实体,它工作良好,在ios设备上也表现良好。 现在只是在读“扩展实体”


感谢

core.config.initializedapterninstances({modelbrary:“backingStore”,dataService:“webApi”});这似乎很管用!谢谢你的解释。我知道这很有道理。顺便说一句,在
config.setProperties
的日子里,“backingStore”是默认的模型库。当我们移动到
initializeAdapterInstances
时,我们将默认值更改为“ko”,因为我们在几乎所有的示例中都将其设置为ko,并且它是Breeze开发人员中最流行的MV*库。。。目前为止出于同样的原因,WebAPI同时成为默认的数据服务。如果不想,您不必在
initializedapterninstances
调用中指定它。