Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Breezejs中创建大量实体_Javascript_Entity Framework_Breeze - Fatal编程技术网

Javascript 在Breezejs中创建大量实体

Javascript 在Breezejs中创建大量实体,javascript,entity-framework,breeze,Javascript,Entity Framework,Breeze,我在UI上有一个场景,用户在下拉列表中有三组值(50+可能值)。用户需要在单个操作中基于这些值集创建所有可能的排列。在后台,每个排列转换为一个实体,该实体是通过breezejs使用manager.createEntity创建的。由于存在大量可能的排列(50*50*50),创建所有实体并最终保存它们的过程非常缓慢,以至于浏览器冻结 在决定保存最终结果甚至取消整个过程之前,用户应该能够操纵所有可能的排列 我试图在服务器上创建所有实体,而不将它们持久化到数据库中,然后将它们重新加载,但这本身就带来了一

我在UI上有一个场景,用户在下拉列表中有三组值(50+可能值)。用户需要在单个操作中基于这些值集创建所有可能的排列。在后台,每个排列转换为一个实体,该实体是通过breezejs使用
manager.createEntity
创建的。由于存在大量可能的排列(50*50*50),创建所有实体并最终保存它们的过程非常缓慢,以至于浏览器冻结

在决定保存最终结果甚至取消整个过程之前,用户应该能够操纵所有可能的排列

我试图在服务器上创建所有实体,而不将它们持久化到数据库中,然后将它们重新加载,但这本身就带来了一个全新的挑战。Breezejs无法将这些实体视为新实体(尚未持久化到数据库)。即使有办法,我们仍然需要管理实体键,以防止不同实体在缓存中发生冲突

有没有办法解决这个问题。在用户保存整个父上下文之前,我无法持久保存临时数据

下面是最终结果的视觉示例。这些排列是在用户单击“生成”按钮时自动创建的。您还注意到,有一个下拉列表允许用户编辑值。虽然由于dom中的所有html,这使得页面加载速度变慢,但这并不是瓶颈。真正的问题是重复调用
manager.createEntity


您可以添加一个带演示的plunkr吗?您是否分析了应用程序以查看瓶颈在哪里?瓶颈是manager.createEntity。当您的实体由其他实体组成,而这些实体又需要调用manager.createEntity时,情况会变得更糟。很遗憾,我无法在plunkr上设置一个示例,这是一个相当复杂的部分,我将在问题上附加一个屏幕截图来突出问题,尽管doube breeze是为处理类似的问题而构建的。你必须重新考虑你的方法,可能没有Breeze你能添加一个带演示的plunkr吗?您是否分析了应用程序以查看瓶颈在哪里?瓶颈是manager.createEntity。当您的实体由其他实体组成,而这些实体又需要调用manager.createEntity时,情况会变得更糟。很遗憾,我无法在plunkr上设置一个示例,这是一个相当复杂的部分,我将在问题上附加一个屏幕截图来突出问题,尽管doube breeze是为处理类似的问题而构建的。你将不得不重新考虑你的方法,可能没有微风