有人可以解释为什么MsSql2012Dialect上的NHibernate会生成无法由服务器处理的查询吗?当没有明确指定排序时,它以这种方式构建查询。
...
ORDER BY CURRENT_TIMESTAMP
OFFSET 0 ROWS FETCH FIRST 10 ROWS ONLY
答案 0 :(得分:5)
这是jira中注册的未解决的错误,根据建议,这是我的工作:
public class MyMsSql2012Dialect : MsSql2012Dialect
{
public override SqlString GetLimitString(SqlString querySqlString, SqlString offset, SqlString limit)
{
var result = base.GetLimitString(querySqlString, offset, limit);
return result.Replace("ORDER BY CURRENT_TIMESTAMP", "ORDER BY 1");
}
}