尝试在命名查询上使用Enumerable方法时,使用无状态会话,如下面的示例所示:
http://www.nhforge.org/doc/nh/en/#batch-statelesssession
我看到NotSupportedException。堆栈跟踪如下:
System.NotSupportedException: Specified method is not supported.
at NHibernate.Impl.StatelessSessionImpl.Enumerable(String query, QueryParameters parameters)
at NHibernate.Impl.QueryImpl.Enumerable()
这是我的代码片段:
IStatelessSession statelessSession = sessionFactory.OpenStatelessSession();
var fileLines = statelessSession.GetNamedQuery("GetLinesByFileId")
.SetInt32("FileIdInput", fileId).Enumerable<FileLineEntity>();
命名查询,GetLinesByFileId在hbm中定义如下:
<query name="GetLinesByFileId" cacheable="false" read-only="true">
<![CDATA[
from FileLineEntity lineItem where lineItem.FileId=:FileIdInput
]]>
</query>
关于我在这里可能缺少什么的任何建议?
答案 0 :(得分:0)
文档错了。此外,通过查看它,您可以告诉它是从Hibernate(Java)复制的。
请改用List
方法。