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