これはおそらくかなり簡単ですが、どのドキュメントでも合理的な説明が見つからないようです。NHibernate ISQLQuery SetParameterの問題
私はNHibernate.ISQLQueryを使用し、SetResultTransformer()を使用してカスタムSQLクエリからカスタム結果セットを返そうとしています。これと同じように:
public virtual IList<T> GetSQLObject<T>(string sql, IDbParameter[] parameters = null)
{
ISQLQuery qry = _sess.CreateSQLQuery(sql);
qry.SetResultTransformer(Transformers.AliasToBean(typeof(T)));
if (parameters != null) {
foreach (IDbParameter parameter in parameters) {
qry.SetParameter(parameter.Name, parameter.Value);
}
}
return qry.List<T>();
}
の例を見てから、SQLクエリで私はフォーマットでパラメータを使用する必要がありますようです:パラメータ1の代わりのparam1 @私は、標準のSQLクエリで同じように。クエリで後者の構文を使用すると、qry.SetParameter()でエラーがスローされます。
ISQLQuery/NHibernateがこの形式でそれらを必要とし、通常の構文で動作しない理由はありますか?
よろしくお願いします。 – Brett