使用参数生成NHibernate查询的SQL而不执行它

时间:2017-06-05 09:37:41

标签: c# nhibernate

我正在使用以下代码获取NHibernate查询的SQL字符串而不执行它:

public string buildQuery(ISession session, string queryString) {
  var sessionImp = (ISessionImplementor)session;
  var translatorFactory = new ASTQueryTranslatorFactory();
  var translators = translatorFactory.CreateQueryTranslators(queryString, null, false, sessionImp.EnabledFilters, sessionImp.Factory);

  return translators[0].SQLString;
}

现在我需要做同样的事情,将命名参数传递给查询并获取已经替换参数的SQL字符串。我尝试了接受CreateQueryTranslators作为第一个参数的IQueryExpression方法但它似乎不起作用。有没有办法做到这一点?

0 个答案:

没有答案