14

使用实体我目前有 dbcontext,其中包含每个表。

我想知道这是不是每个人都这样做,或者您是否有每个模块的上下文。对我来说,dbcontext 是将模型映射到数据库的连接,由于只有一个数据库,我只需要一个。

在我走得太远之前,我想看看这是否合适。

那么每个数据库或多个 1 db 上下文?

4

2 回答 2

7

我最近经历了同样的过程,并在这个主题上找到了一些很棒的资源。这里有一对非常有帮助的:

我正在构建一个桌面应用程序,最终我使用了多个上下文,以便我可以将生命周期与模块而不是应用程序联系起来。这对我来说效果很好,我喜欢我DbContext没有被淹没DbSets并且仅限于与当前模块相关的那些。

在 ASP.NET MVC 应用程序中,它是不同的,因为它DbContext只会与请求一样长,在这些情况下,我通常使用单个DbContext来简化事情,除非数据库非常大。对于大型数据库,我可能会将其拆分为多个DbContexts,以限制开销和混乱,并保持分区。

于 2013-04-27T05:09:56.230 回答
0

目前尚未将 EF 分解为 diff dbContexts。这里有一个很好的讨论

我们为这个案例做了什么,我们从我们的 MVC 网站制作了一个项目差异,仅用于数据库生成,然后为每个需求提供单独的 dbContexts。

这样我们的 dbContexts 就不会很大并且易于维护

于 2013-04-27T05:58:44.503 回答