使用实体我目前有 dbcontext,其中包含每个表。
我想知道这是不是每个人都这样做,或者您是否有每个模块的上下文。对我来说,dbcontext 是将模型映射到数据库的连接,由于只有一个数据库,我只需要一个。
在我走得太远之前,我想看看这是否合适。
那么每个数据库或多个 1 db 上下文?
使用实体我目前有 dbcontext,其中包含每个表。
我想知道这是不是每个人都这样做,或者您是否有每个模块的上下文。对我来说,dbcontext 是将模型映射到数据库的连接,由于只有一个数据库,我只需要一个。
在我走得太远之前,我想看看这是否合适。
那么每个数据库或多个 1 db 上下文?
我最近经历了同样的过程,并在这个主题上找到了一些很棒的资源。这里有一对非常有帮助的:
我正在构建一个桌面应用程序,最终我使用了多个上下文,以便我可以将生命周期与模块而不是应用程序联系起来。这对我来说效果很好,我喜欢我DbContext
没有被淹没DbSets
并且仅限于与当前模块相关的那些。
在 ASP.NET MVC 应用程序中,它是不同的,因为它DbContext
只会与请求一样长,在这些情况下,我通常使用单个DbContext
来简化事情,除非数据库非常大。对于大型数据库,我可能会将其拆分为多个DbContexts
,以限制开销和混乱,并保持分区。
目前尚未将 EF 分解为 diff dbContexts。这里有一个很好的讨论
我们为这个案例做了什么,我们从我们的 MVC 网站制作了一个项目差异,仅用于数据库生成,然后为每个需求提供单独的 dbContexts。
这样我们的 dbContexts 就不会很大并且易于维护