BreezeJS是否应该使用Durandal在单个页面应用程序中跨页面共享实体管理器?

BreezeJS是否应该使用Durandal在单个页面应用程序中跨页面共享实体管理器?,breeze,single-page-application,durandal,Breeze,Single Page Application,Durandal,使用Durandal为单页应用程序创建BreezeJS EntityManager实例的最佳实践是什么 是否应该有一个实体管理器实例在所有页面上共享,或者每个页面应该有一个实例 非常感谢您提供有关实现的任何详细信息。这取决于您想要实现什么。如果共享了1个EntityManager(EM),那么所有数据都共享在一个位置。任何更改都将在视图和视图模型之间共享。按save时,保存所有屏幕。通常在这种情况下,您要防止在用户保存或取消之前离开屏幕 如果您希望能够打开不同的屏幕并彼此独立地保存数据,您可以创

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

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


非常感谢您提供有关实现的任何详细信息。

这取决于您想要实现什么。如果共享了1个EntityManager(EM),那么所有数据都共享在一个位置。任何更改都将在视图和视图模型之间共享。按save时,保存所有屏幕。通常在这种情况下,您要防止在用户保存或取消之前离开屏幕

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

或者你也可以在你的应用程序中使用EM(可能更常见)。这取决于你想做什么。如果你没有;如果没有要求将交易分开,那么1个EM就足够了