我开始怀疑我的初始设计决策,因为我到处都是这样,我在MVC上找到关于将访问层转储到MVC项目中的教程。 (这对一切顺利我已经学会)具有多个存储库的良好MVC设计
- BarRepo:处理访问的API。
- FooRepo:处理访问我的数据库(使用EF)。
- FooBarHandler:将来自两个仓库的数据连接到控制器的有用数据。
- 控制器:一个控制器,没什么特别的。
正如您在图片中看到的,我将每个零件分成了自己的项目并试图获得松散耦合。所以我不会将实体框架类从数据库层中发送出去等等。然而,我遇到了一个泡菜。获取的数据量变得非常大,以至于在前端显着,所以我需要引入分页。所以我跟着this tutorial。 我的“问题”是,现在MVC,逻辑和数据库项目都依赖于PagedList,所以事情不再那么整齐有光泽了。
所以我的问题是你会做什么?
大部分情况下,这听起来像是你做对了。我的建议是使用存储过程来帮助加速数据库交互。他们与EF一起工作的乐趣不大,但他们在处理大量数据方面做得更好,并将所述数据修剪至最小数量。 – IyaTaisho 2013-02-21 19:51:09