1

次の例に示すように、ステートレスセッションで、名前付きクエリで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>

私がここで見逃しているかもしれないものについての提案はありますか?

4

1 に答える 1

0

ドキュメントが間違っています。また、それを見ると、Hibernate(Java)からコピーされたものであることがわかります。

List代わりにこの方法を使用してください。

于 2010-03-23T21:30:13.153 に答える