在使用EntityFramework(以下简称EF)来定义模型(Model)时,开发人员往往喜欢把应用程序中的所有模型对象都一股脑地塞进一个模型中。这种开发习惯估计是源于DatabaseFirst的开发方式,在这种方式下,开发人员可以很方便地将数据库中的表和视图直接拖拽到EF模型设计器中,于是一个模型也就包含了由这些表或视图所映射的所有对象。当然,不正确的CodeFirst的实践方式,同样也会造成这样的局面:在一个DbContext中为模型中的每一个实体都定义DbSet属性,甚至会不知不觉地将与这些实体关联的所有类型全部包含进去。当开发一个具有大型领域模型的超大规模的应用程序时,与设计一个单一