Gri*_*der 8 architecture entity-framework coding-style repository-pattern
XXX : DbContext为Web应用程序的每个主要部分设置多个类是一个好习惯(考虑到它是一个在其数据库中至少有50个表的大型)?例如:MembershipContext,BlogContext,StoreContext等.或者DatabaseContext为所有与数据库访问相关的内容提供单一内容更方便.
使用多个DbContext类意味着使交叉事务变得复杂(您可以在Web上找到这个问题的解决方案,例如http://pastebin.com/YEDqyH0n),但可能是合理的.这一切都取决于您的架构和您想要设计的分离.
无论如何,您应该查看Repository和UnitOfWork模式,以获得如何使用DbContexts的抽象层.看看这里:N层应用程序中的多个DbContexts,这里是EF和存储库模式 - 在一个控制器中最终有多个DbContexts - 任何问题(性能,数据完整性)?如果您使用ASP.NET MVC.
对于50个表,我认为有多个DbContexts可能是合理的.所以我建议使用多个DbContexts.但是你应该使用Repository和UnitOfWork模式将它们包装起来,使其与其他层中的实际实现无关(这样你以后可以轻松改变主意,例如只使用符号DbContext).
我希望有所帮助.