【发布时间】:2012-03-06 20:09:31
【问题描述】:
我正在使用 Nhibernate 3.2、Firebird Net Provider 2.7 和 Criteria。在谷歌搜索如何只返回数据库中的一条记录后,我来到了这个......
var criteria = session.CreateCriteria(typeof(T))
.SetFirstResult(0)
.SetMaxResults(1)
.Add(getRestricao(rest))
.UniqueResult<T>();
tx.Commit();
return criteria;
但不起作用!错误是:
NHibernate.Exceptions.GenericADOException : could not execute query
[ /* criteria query */ SELECT this_.idPermissao as idPermis1_21_0_, this_.nomePermissao as nomePerm2_21_0_, this_.permissao as permissao21_0_ FROM Permissao this_ WHERE this_.nomePermissao = ? ]
Name:cp0 - Value:Administrador
[SQL: /* criteria query */ SELECT this_.idPermissao as idPermis1_21_0_, this_.nomePermissao as nomePerm2_21_0_, this_.permissao as permissao21_0_ FROM Permissao this_ WHERE this_.nomePermissao = ?]
----> System.ArgumentException : index should be greater than or equal to 0
Parameter name: index
如何在 Criteria 中从 Firebird 生成“SELECT FIRST 1”?谢谢!
【问题讨论】:
标签: nhibernate criteria firebird