Pau*_*ett 5 nhibernate pagination repository sql-order-by
我不太确定我想要做的最优雅的解决方案.
我有一个列出音乐列表的页面,可以有成千上万的这些,所以他们分批分页,我也有4个链接在页面的顶部,以改变这些列表的订购方式.
按属性排序可以位于不同的实体上,例如Audio.AudioStats.NumComments或Audio.Artist.NumProfileViews.
我正在使用存储库模式和服务层.我的控制器只能访问服务层,然后服务层访问我的存储库.
我可以相当容易地进行分页,我只需将当前页面传入,并将页面大小传递给我的数据层......但我如何安全地让用户决定我的实体的排序.
我正在使用S#arp Architecture 1.5.2,如果这有任何区别的话.
先感谢您.
您必须以某种方式将用户的需求映射到 order by 子句。
想必您正在做类似的事情也skip(n).take(m)需要一个orderby()子句。
鉴于您有一组固定的(已知)可能性,您可以将它们映射到枚举或类似的,然后将其转换为相关orderby()调用。
这意味着您不会在 UI 层公开属性,而仅将意图传递到存储库层(作为Sortby.ArtistProfileViews值或其他形式)。该意图如何映射到域对象的属性在存储库层中是隔离的。
| 归档时间: |
|
| 查看次数: |
641 次 |
| 最近记录: |