How do I select the Count(*) of an nHibernate Subquery's results

后端 未结 6 1209
名媛妹妹
名媛妹妹 2021-01-04 21:52

I need to do the following for the purposes of paging a query in nHibernate:

Select count(*) from 
(Select e.ID,e.Name from Object as e where...)
         


        
6条回答
  •  春和景丽
    2021-01-04 22:10

    Here is a draft of how I do it:

    Query:

    public IList GetOrders(int pageindex, int pagesize)
    {
        IList results = session.CreateMultiQuery()
            .Add(session.CreateQuery("from Orders o").SetFirstResult(pageindex).SetMaxResults(pagesize))
            .Add(session.CreateQuery("select count(*) from Orders o"))
            .List();
        return results;
    }
    

    ObjectDataSource:

    [DataObjectMethod(DataObjectMethodType.Select)]
    public DataTable GetOrders(int startRowIndex, int maximumRows)
    {
        IList result = dao.GetOrders(startRowIndex, maximumRows);
        _count = Convert.ToInt32(((IList)result[1])[0]);
    
        return DataTableFromIList((IList)result[0]); //Basically creates a DataTable from the IList of Orders
    }
    

提交回复
热议问题