2

使用 Durandal 为单页应用程序创建 BreezeJS EntityManager 实例的最佳实践是什么?

是否应该有一个跨所有页面共享的实体管理器实例,或者每个页面应该有一个实例?

任何有关实施的细节都值得赞赏。

4

1 回答 1

6

这取决于你想要完成什么。如果您共享了 1 个 EntityManager (EM),则所有数据都共享在一个地方。任何更改都会在视图和视图模型之间共享。当您按保存时,您保存所有屏幕。通常在这种情况下,您希望防止在用户保存或取消之前离开屏幕。

如果您希望能够打开不同的屏幕并相互独立地保存数据,您可以创建多个 EM。然后,您可以根据需要取消一个或保存另一个。

或者,您可以为应用程序的某些区域设置 EM(可能更常见)。真的取决于你想做什么。如果您没有要求将交易分开,那么 1 个 EM 就足够了。

于 2013-03-29T01:28:23.847 回答