使用statelesssession时,IQuery的Enumerable上的NotSupportedException

时间:2010-03-23 20:41:13

标签: nhibernate enumerable named-query notsupportedexception

尝试在命名查询上使用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>

关于我在这里可能缺少什么的任何建议?

1 个答案:

答案 0 :(得分:0)

文档错了。此外,通过查看它,您可以告诉它是从Hibernate(Java)复制的。

请改用List方法。