存储库模式的单例中的数据库上下文

时间:2011-03-12 23:30:22

标签: asp.net-mvc design-patterns repository-pattern

我目前设计系统的方式是每个存储库都有自己的数据库上下文。我依赖为每个存储库注入连接字符串。

但是让我们说1个页面调用2个或更多(n)个存储库,这意味着有n个单独的调用进入数据库。使用像延迟加载的实体框架之类的ORM,如果我共享1个数据库上下文,我的查询是否可以在存储库级别的末尾合并为1个调用?

我如何做到这一点?有人可以给我一个基本的大纲/结构,我将如何为所有存储库使用1个单独的上下文?感谢。

1 个答案:

答案 0 :(得分:1)

使用实体框架,您的查询永远不会合并为单个调用。这是当前EF实施的限制。但是,每个http reqeuest(最佳实践)拥有单一上下文是可行的方法。而不是注入查询字符串注入整个上下文。