我目前正在开发的项目中使用解耦结构。我有列出和排序的视图模型,因此排序时的orderby属性是视图模型名称。要将其转换为可用于查询和排序映射模型的内容,我使用的映射类将视图模型属性映射到一个或多个域实体属性。映射类可以从中查看模型属性,获取正在排序的域模型属性(Expression<Func<TDomainModel,object>>
)的列表。
使用NHibernate我想在我的查询中使用这种排序(QueryOver查询)。只要我对实体本身的属性进行排序,它就可以正常工作,但如果我尝试对引用的实体属性进行排序,它就会爆炸。据我所知,在QueryOver中执行此操作的首选方法是使用别名,我无法真正弄清楚如何动态生成。我可以使用session.Query
而不是session.QueryOver
。关于如何实现这一目标的任何想法?