在EntityFramework旧版本中,如果我有一个DbSet超过50的表,我肯定会使用BoundedContext概念分离,因为我从一些博客网站获得的大部分提示和技巧,现在我的问题如何在.net核心如果我有100个表,EntityFrameworkCore是否可以在单个DbContext中处理100个表或更多,或者确实在分离其性能以获得其进程负载时并不重.谢谢. 最佳答案 它不一定是性能问题,因为DbContext为你的DbSets使用IQueryable,所以在你调用ToList(),First()等之前,每个’table’都没有实现.我曾经使用过超过100的项目(不是我的设计)单个上下文中的表和瓶颈从来没有来自大型DbContext.它只是让整个项目变得不合时宜,而不是我想再做的事情.
对于较大的项目,无论是.net核心还是.net< = 4.5我肯定会走向有界的上下文路由,但是从DDD的角度来看. Juli Lerman写了很多关于这个的博客文章,当然还有blue book by Eric Evans,这是DDD圣经.
另一位DDD弟子是吉米·博加德,他在expands上通过钻研价值对象,聚合体和根源来研究DDD.
简短的回答(太晚了)是,不,你不必担心从性能角度看DbContext中的100个对象,而是使用DDD,聚合,值对象,有界上下文等,你可能会发现所需的表格数量将缩减,您的项目变得更加清晰,关注点更加分离.