0

让单个 Breeze 控制器与多个 EF 上下文一起工作是否可行或可行?每个上下文都有不同的数据模型。

或者,是否可以让一个 Breeze 客户端使用两个不同的 Breeze 控制器?

4

1 回答 1

4

两者都是可能的。两者都很常见。

通常你会有一个 EF-Context-per-controller。这当然是简单的路径(但不是唯一可能的路径!)。

在客户端,您可以将这些视为不同的“数据服务”。在两个上下文的情况下类似于以下内容:

// 高度浓缩、简化的示例
var fooServiceName = 'api/foo';
var barServiceName = 'api/bar';

var fooManager = 新微风.EntityManager(fooServiceName);
var barManager = 新微风.EntityManager(barServiceName);

// 在自己的工作流程中使用每个管理器

我的假设是你有不同的模型,因为你有不同的工作流程。该假设通常成立,并且肯定是最简单的方法。

然后,我将我的客户端应用程序构建为单独的客户端模块,每个模块都有自己的EntityManager.

我不会进一步推测;让我们知道这是否适合您的目的,或者您是否有其他需要。

顺便说一句,我宁愿控制器本身根本不知道 EF 上下文。我希望看到它们在支持外部类时被隔离,以便于测试。但是,关于你问题的本质,你应该没问题。

于 2013-03-27T15:49:15.320 回答