我正在尝试使用 system.dynamic.linq 创建动态排序。
这是我使用的查询:
var query = dalSession.Query<T>().AsQueryable();
var res = (from x in query orderby "x.FirstName" select x)
这是mysql的输出:
select
affiliate0_.id as id0_,
affiliate0_.first_name as first6_0_,
from affiliate affiliate0_ order by 'x.FirstName' //FirstName as well
所以你可以看到mysql查询的输出是直接字符串,而不是它的反射,('x.FirstName'
)或('FirstName'
)。
这在 mysql 上下文中没有任何意义,看起来我需要 order by affiliate0_.first_name
。
无论如何要向 Nhibernate 提供成员本身吗?那么编译后的查询会正常完成吗?