Nhibernate 如何使用hibernate标准API将列排序为int?

Nhibernate 如何使用hibernate标准API将列排序为int?,nhibernate,Nhibernate,您好,我想使用hibernate Criteria API获取数据库中的数据 该数据应按某列作为编号排序 此列在DB中定义为varchar。但我得把它当作数字来取 我在使用CriteriaAPI时遇到了问题,因为它的顺序就像字符串一样 例: 我得到的数据如下 9,8,7,6,5,4,3,2,1,10 但我需要数据作为 10,9,8,7,6,5,4,3,2,1 是否有任何Hibernate方法将varchar转换为数字,如convert(“some column”,int) 还是强制转换(“某列”

您好,我想使用hibernate Criteria API获取数据库中的数据

该数据应按某列作为编号排序

此列在DB中定义为varchar。但我得把它当作数字来取

我在使用CriteriaAPI时遇到了问题,因为它的顺序就像字符串一样

例: 我得到的数据如下

9,8,7,6,5,4,3,2,1,10

但我需要数据作为

10,9,8,7,6,5,4,3,2,1

是否有任何Hibernate方法将varchar转换为数字,如convert(“some column”,int)
还是强制转换(“某列”,int)

您可以使用
Projections.Cast()
执行
Cast(列作为类型)

.AddOrder(Projections.Cast(NHibernateUtil.Int32, Projections.Property("stringColumn"))