我开始怀疑我最初的设计决策,因为我看到的每个地方都会找到MVC上的教程,他们只是将访问层转储到MVC项目中。 (这违背了我所学到的一切)
正如您在图片中看到的那样,我将每个部分拆分成他们自己的项目并尝试获得松耦合。所以我不会从数据库层发送实体框架类等等。但是我遇到了一些泡菜。提取的数据量已经变得很大,以至于它在前端是显而易见的,所以我需要引入分页。所以我跟着this tutorial。 我的“问题”是,现在MVC,Logic和数据库项目依赖于PagedList,所以事情不再那么整洁和闪亮。
所以我的问题是你会做什么?
答案 0 :(得分:2)
您不需要使用PagedList,因为您可以自己创建分页项目列表。请查看this StackOverflow question以获取如何执行此操作的示例。
总结:
var pageNum = 3;
var pageSize = 20;
var pagedItems = data.Skip((pageNum - 1) * pageSize).Take(pageSize).ToList();
这样你就不会对PagedList有任何依赖,这有助于减少设计中的耦合。