加载集合时NHibernate IndexOutOfRange异常

时间:2015-09-14 13:06:42

标签: c# .net nhibernate nhibernate-mapping one-to-many

我有以下NNHibernate映射

活动

<hibernate-mapping>
     <class name="Activity" table="akt" lazy="true" >
    <id name="Aktid" column="aktid" generator="assigned" />

    <property name="Aktstatus">
      <column name="aktstatus" sql-type="integer" not-null="false" />
    </property>
    <property name="Aktresp">
      <column name="aktresp" sql-type="string" not-null="false" />
    </property>
    <set name="Attachments" lazy="false">
      <key column= "aktid"/>
      <one-to-many class= "Mailatt" /> 
    </set>
    <!-- some more irrelevant columsns -->
  </class>
</hibernate-mapping>


public class Activity
    {
        public virtual int Aktid { get; set; }
        public virtual int? Aktstatus { get; set; }
        public virtual string Aktresp { get; set; }
        public virtual ISet<Mailatt> Attachments { get; set; }
        // Many more properties

    }

Mailatt

    <hibernate-mapping>
    <class name="Mailatt" table="mailatt" lazy="true" >
    <id name="Attid" column="attid" />
    <property name="Datchanged">
      <column name="datchanged" sql-type="timestamp without time zone" not-null="false" />
    </property>   
  </class>
 </hibernate-mapping>



public class Mailatt {
    public virtual int Attid { get; set; }
    public virtual DateTime? Datchanged { get; set; }
    //some more properties
}

我正在尝试创建一对多映射:每个Activity都有许多Mailatt对象。只要使用所有属性加载整个活动对象,这就行了,这是我绝对不想做的事情。

这很好用,收集正确加载:

var activities = session.Query<Activity>().Where(act => act.Aktstatus   == status && act.Aktresp == uid).ToList<Activity>();    

这也有效,但显然我没有在这一个中选择该集合:

Activity alias = null;
            IList<Activity> activities;
            activities = session.QueryOver<Activity>(() => alias).
                SelectList(list =>
                    list.
                Select(act => act.Aktid).WithAlias(() => alias.Aktid).
                Select(act => act.Aktresp).WithAlias(() => alias.Aktresp).
                Select(act => act.Aktstatus).WithAlias(() => alias.Aktstatus).
          ).Where(act => act.Aktresp == uid && act.Aktstatus == status).
                TransformUsing(Transformers.AliasToBean<Activity>()).List<Activity>();

当我尝试选择集合时,例如

    Activity alias = null;
            IList<Activity> activities;
            activities = session.QueryOver<Activity>(() => alias).
                SelectList(list =>
                    list.
                Select(act => act.Aktid).WithAlias(() => alias.Aktid).
                Select(act => act.Aktresp).WithAlias(() => alias.Aktresp).
                Select(act => act.Aktstatus).WithAlias(() => alias.Aktstatus).
                Select(act => act.Aktname).WithAlias(() => alias.Aktname).
                Select(act => act.Aktscomment).WithAlias(() => alias.Aktscomment).
                Select(act => act.Akttype).WithAlias(() => alias.Akttype).
                Select(act => act.Attachments).WithAlias(() => alias.Attachments) 
                ).Where(act => act.Aktresp == uid && act.Aktstatus == status).
                TransformUsing(Transformers.AliasToBean<Activity>()).List<Activity>();

我得到一个IndexOutOfRangeException

   [SQL: SELECT this_.aktid as y0_, this_.aktresp as y1_, this_.aktstatus as y2_, this_.aktname as y3_, this_.aktscomment as y4_, this_.akttype as y5_, this_.aktid as y6_ FROM akt this_ WHERE (this_.aktresp = :p0 and this_.aktstatus = :p1)] ---&amp;gt; System.IndexOutOfRangeException

我一直试图解决这个问题几天,我不知道在哪里看。有什么想法吗?

编辑堆栈跟踪

2015-09-14 14:58:35,144 DEBUG [session-id=200d79fd-3740-4c67-b35c-85c19be5436b] opened session at timestamp: 635778395151, for session factory: [Cons/c1adb75447db493e85935e26e9eed945]
2015-09-14 14:58:35,217 DEBUG put criteria=(Aktresp = vg and Aktstatus = 0) alias=alias0_
2015-09-14 14:58:35,223 DEBUG returning alias=this_ for criteria=(Aktresp = vg and Aktstatus = 0)
2015-09-14 14:58:35,225 DEBUG returning alias=this_ for criteria=(Aktresp = vg and Aktstatus = 0)
2015-09-14 14:58:35,225 DEBUG returning alias=this_ for criteria=(Aktresp = vg and Aktstatus = 0)
2015-09-14 14:58:35,225 DEBUG returning alias=this_ for criteria=(Aktresp = vg and Aktstatus = 0)
2015-09-14 14:58:35,225 DEBUG returning alias=this_ for criteria=(Aktresp = vg and Aktstatus = 0)
2015-09-14 14:58:35,225 DEBUG returning alias=this_ for criteria=(Aktresp = vg and Aktstatus = 0)
2015-09-14 14:58:35,225 DEBUG returning alias=this_ for criteria=(Aktresp = vg and Aktstatus = 0)
2015-09-14 14:58:35,228 DEBUG returning alias=this_ for criteria=(Aktresp = vg and Aktstatus = 0)
2015-09-14 14:58:35,334 DEBUG returning alias=this_ for criteria=(Aktresp = vg and Aktstatus = 0)
2015-09-14 14:58:35,337 DEBUG The initial capacity was set too low at: 8 for the SelectSqlBuilder that needed a capacity of: 10 for the table akt this_
2015-09-14 14:58:35,373 DEBUG Opened new IDbCommand, open IDbCommands: 1
2015-09-14 14:58:35,373 DEBUG Building an IDbCommand object for the SqlString: SELECT this_.aktid as y0_, this_.aktresp as y1_, this_.aktstatus as y2_, this_.aktname as y3_, this_.aktscomment as y4_, this_.akttype as y5_, this_.aktid as y6_ FROM akt this_ WHERE (this_.aktresp = ? and this_.aktstatus = ?)
2015-09-14 14:58:35,374 DEBUG binding 'vg' to parameter: 0
2015-09-14 14:58:35,375 DEBUG binding '0' to parameter: 1
2015-09-14 14:58:35,377 INFO SELECT this_.aktid as y0_, this_.aktresp as y1_, this_.aktstatus as y2_, this_.aktname as y3_, this_.aktscomment as y4_, this_.akttype as y5_, this_.aktid as y6_ FROM akt this_ WHERE (this_.aktresp = :p0 and this_.aktstatus = :p1)
2015-09-14 14:58:35,542 DEBUG SELECT this_.aktid as y0_, this_.aktresp as y1_, this_.aktstatus as y2_, this_.aktname as y3_, this_.aktscomment as y4_, this_.akttype as y5_, this_.aktid as y6_ FROM akt this_ WHERE (this_.aktresp = :p0 and this_.aktstatus = :p1);:p0 = 'vg' [Type: String (0)], :p1 = 0 [Type: Int32 (0)]
NHibernate: SELECT this_.aktid as y0_, this_.aktresp as y1_, this_.aktstatus as y2_, this_.aktname as y3_, this_.aktscomment as y4_, this_.akttype as y5_, this_.aktid as y6_ FROM akt this_ WHERE (this_.aktresp = :p0 and this_.aktstatus = :p1);:p0 = 'vg' [Type: String (0)], :p1 = 0 [Type: Int32 (0)]
2015-09-14 14:58:35,543 DEBUG Obtaining IDbConnection from Driver
2015-09-14 14:58:35,561 DEBUG ExecuteReader took 17 ms
2015-09-14 14:58:35,562 DEBUG Opened IDataReader, open IDataReaders: 1
2015-09-14 14:58:35,563 DEBUG processing result set
2015-09-14 14:58:35,564 DEBUG result set row: 0
2015-09-14 14:58:35,566 DEBUG result row: 
2015-09-14 14:58:35,570 DEBUG returning '2240592' as column: y0_
2015-09-14 14:58:35,739 DEBUG returning 'vg' as column: y1_
2015-09-14 14:58:35,739 DEBUG returning '0' as column: y2_
2015-09-14 14:58:35,739 DEBUG returning 'interne Mitteilung' as column: y3_
2015-09-14 14:58:35,739 DEBUG returning 'NHibernate Tipps und Fragen' as column: y4_
2015-09-14 14:58:35,739 DEBUG returning '8' as column: y5_
2015-09-14 14:58:35,742 DEBUG running NHybridDataReader.Dispose()
2015-09-14 14:58:35,742 DEBUG Closed IDataReader, open IDataReaders :0
2015-09-14 14:58:35,742 DEBUG DataReader was closed after 198 ms
2015-09-14 14:58:35,743 DEBUG Closed IDbCommand, open IDbCommands: 0
2015-09-14 14:58:35,744 DEBUG aggressively releasing database connection
2015-09-14 14:58:35,744 DEBUG Closing connection
2015-09-14 14:58:35,746 DEBUG could not execute query
[ SELECT this_.aktid as y0_, this_.aktresp as y1_, this_.aktstatus as y2_, this_.aktname as y3_, this_.aktscomment as y4_, this_.akttype as y5_, this_.aktid as y6_ FROM akt this_ WHERE (this_.aktresp = :p0 and this_.aktstatus = :p1) ]
  Name:cp0 - Value:vg  Name:cp1 - Value:0

System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultRow(Object[] row, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultColumnOrRow(Object[] row, IResultTransformer customResultTransformer, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)
2015-09-14 14:58:36,139 WARN System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultRow(Object[] row, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultColumnOrRow(Object[] row, IResultTransformer customResultTransformer, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)
2015-09-14 14:58:36,339 ERROR Der Index war außerhalb des Arraybereichs.
2015-09-14 14:58:36,339 DEBUG could not execute query
[ SELECT this_.aktid as y0_, this_.aktresp as y1_, this_.aktstatus as y2_, this_.aktname as y3_, this_.aktscomment as y4_, this_.akttype as y5_, this_.aktid as y6_ FROM akt this_ WHERE (this_.aktresp = :p0 and this_.aktstatus = :p1) ]
  Name:cp0 - Value:vg  Name:cp1 - Value:0

[ SELECT this_.aktid as y0_, this_.aktresp as y1_, this_.aktstatus as y2_, this_.aktname as y3_, this_.aktscomment as y4_, this_.akttype as y5_, this_.aktid as y6_ FROM akt this_ WHERE (this_.aktresp = :p0 and this_.aktstatus = :p1) ]

System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultRow(Object[] row, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultColumnOrRow(Object[] row, IResultTransformer customResultTransformer, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)
2015-09-14 14:58:36,739 WARN System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultRow(Object[] row, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultColumnOrRow(Object[] row, IResultTransformer customResultTransformer, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQuery(ISessionImplementoException thrown: 'NHibernate.Exceptions.GenericADOException' in NHibernate.dll
System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Unbehandelte Ausnahme</Description><AppDomain>FluentDataClient.vshost.exe</AppDomain><Exception><ExceptionType>NHibernate.Exceptions.GenericADOException, NHibernate, Version=4.0.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4</ExceptionType><Message>could not execute query
[ SELECT this_.aktid as y0_, this_.aktresp as y1_, this_.aktstatus as y2_, this_.aktname as y3_, this_.aktscomment as y4_, this_.akttype as y5_, this_.aktid as y6_ FROM akt this_ WHERE (this_.aktresp = :p0 and this_.aktstatus = :p1) ]
  Name:cp0 - Value:vg  Name:cp1 - Value:0
[SQL: SELECT this_.aktid as y0_, this_.aktresp as y1_, this_.aktstatus as y2_, this_.aktname as y3_, this_.aktscomment as y4_, this_.akttype as y5_, this_.aktid as y6_ FROM akt this_ WHERE (this_.aktresp = :p0 and this_.aktstatus = :p1)]</Message><StackTrace>   bei NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters)
   bei NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes)
   bei NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results)
   bei NHibernate.Impl.CriteriaImpl.List(IList results)
   bei NHibernate.Impl.CriteriaImpl.List[T]()
   bei NHibernate.Criterion.QueryOver`1.List[U]()
   bei NHibernate.Criterion.QueryOver`1.NHibernate.IQueryOver&amp;lt;TRoot&amp;gt;.List[U]()
   bei Consolidate.NHibernateDAL.NHinbernateFacade.GetActivities(String uid, Int32 status) in C:\ORMDemos\HibernateDAL\NHinbernateFacade.cs:Zeile 63.
   bei FluentDataClient.ViewModel.Search() in C:\ORMDemos\FluentDataClient\ViewModel.cs:Zeile 33.
   bei FluentDataClient.MainWindow.Get_Akt_Click(Object sender, RoutedEventArgs e) in C:\ORMDemos\FluentDataClient\MainWindow.xaml.cs:Zeile 34.
   bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   bei System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   bei System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   bei System.Windows.Controls.Primitives.ButtonBase.OnClick()
   bei System.Windows.Controls.Button.OnClick()
   bei System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   bei System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   bei System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   bei System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   bei System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   bei System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   bei System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   bei System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   bei System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   bei System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   bei System.Windows.Input.InputManager.ProcessStagingArea()
   bei System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   bei System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   bei System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   bei System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)
   bei System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)
   bei MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp; handled)
   bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   bei MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG&amp;amp; msg)
   bei System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   bei System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   bei System.Windows.Application.RunDispatcher(Object ignore)
   bei System.Windows.Application.RunInternal(Window window)
   bei System.Windows.Application.Run(Window window)
   bei System.Windows.Application.Run()
   bei FluentDataClient.App.Main() in C:\ORMDemos\FluentDataClient\obj\Debug\App.g.cs:Zeile 0.
   bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   bei System.Threading.ThreadHelper.ThreadStart()</StackTrace><ExceptionString>NHibernate.Exceptions.GenericADOException: could not execute query
[ SELECT this_.aktid as y0_, this_.aktresp as y1_, this_.aktstatus as y2_, this_.aktname as y3_, this_.aktscomment as y4_, this_.akttype as y5_, this_.aktid as y6_ FROM akt this_ WHERE (this_.aktresp = :p0 and this_.aktstatus = :p1) ]
  Name:cp0 - Value:vg  Name:cp1 - Value:0
[SQL: SELECT this_.aktid as y0_, this_.aktresp as y1_, this_.aktstatus as y2_, this_.aktname as y3_, this_.aktscomment as y4_, this_.akttype as y5_, this_.aktid as y6_ FROM akt this_ WHERE (this_.aktresp = :p0 and this_.aktstatus = :p1)] ---&amp;gt; System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultRow(Object[] row, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultColumnOrRow(Object[] row, IResultTransformer customResultTransformer, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters)
   bei NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes)
   bei NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results)
   bei NHibernate.Impl.CriteriaImpl.List(IList results)
   bei NHibernate.Impl.CriteriaImpl.List[T]()
   bei NHibernate.Criterion.QueryOver`1.List[U]()
   bei NHibernate.Criterion.QueryOver`1.NHibernate.IQueryOver&amp;lt;TRoot&amp;gt;.List[U]()
   bei Consolidate.NHibernateDAL.NHinbernateFacade.GetActivities(String uid, Int32 status) in C:\ORMDemos\HibernateDAL\NHinbernateFacade.cs:Zeile 63.
   bei System.Threading.ThreadHelper.ThreadStart()</ExceptionString><DataItems><Data></Data></DataItems><InnerException><ExceptionType>System.IndexOutOfRangeException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Der Index war außerhalb des Arraybereichs.</Message><StackTrace>   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultRow(Object[] row, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultColumnOrRow(Object[] row, IResultTransformer customResultTransformer, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)</StackTrace><ExceptionString>System.IndexOutOfRangeException: Der Index war außerhalb des Arraybereichs.
   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultRow(Object[] row, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Criteria.CriteriaLoader.GetResultColumnOrRow(Object[] row, IResultTransformer customResultTransformer, IDataReader rs, ISessionImplementor session)
   bei NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)</ExceptionString><DataItems><Data><Key>actual-sql-query</Key><Value>SELECT this_.aktid as y0_, this_.aktresp as y1_, this_.aktstatus as y2_, this_.aktname as y3_, this_.aktscomment as y4_, this_.akttype as y5_, this_.aktid as y6_ FROM akt this_ WHERE (this_.aktresp = :p0 and this_.aktstatus = :p1)</Value></Data></DataItems></InnerException></Exception></TraceRecord>
r session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
   bei NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)
2015-09-14 14:58:36,939 ERROR Der Index war außerhalb des Arraybereichs.
2015-09-14 14:58:38,574 DEBUG after autocommit
2015-09-14 14:58:38,575 DEBUG transaction completion
2015-09-14 14:58:38,575 DEBUG aggressively releasing database connection
The program '[6700] FluentDataClient.vshost.exe' has exited with code -1 (0xffffffff).

0 个答案:

没有答案