See if this helps (this guy is trying to do the opposite of what you want
but he seems to be getting the thing you want to work):
http://stackoverflow.com/questions/695917/nhibernate-only-retrieve-specific-columns-when-using-critera-queries

On Tue, May 26, 2009 at 3:39 PM, Nigel <[email protected]> wrote:

>
> Makes sense - sorry for this - but what if it is a list of numbers?
> Requiring something like a
>
> var results = Query.List<int>();
>
> I tried this once before and got a SQL error, it did not seem to like
> creating the query with the typeof and then returning results with a
> different generic.
>
> On May 26, 2:01 pm, Jon Kruger <[email protected]> wrote:
> > Try...
> >
> > var value = (int) query.UniqueResult();
> >
> >
> >
> > On Tue, May 26, 2009 at 1:53 PM, Nigel <[email protected]> wrote:
> >
> > > No I would like just one field. I only need the one field and figure
> > > it is more efficient to return one field but I remember having an
> > > error creating critera as typeof(Voucher) and then trying to do a
> > > query.List<int>();
> >
> > > I believe I use a Projection to select the field I want but I am not
> > > sure how to do the query.List.
> >
> > > On May 26, 12:48 pm, Jon Kruger <[email protected]> wrote:
> > > > Are you saying that you just want one row back or one integer value?
>  If
> > > you
> > > > want just one row, you can do query.UniqueResult<Voucher>().
> >
> > > > Jon
> >
> > > > On Tue, May 26, 2009 at 11:40 AM, Nigel <[email protected]>
> > > wrote:
> >
> > > > > I have a table with several fields, I want to supply criteria for a
> > > > > couple of the fields but only want one field back. So I create a
> query
> > > > > with a typeof Voucher but in the results I only want to get one int
> > > > > field back, rather than the whole table, var results =
> > > > > query.List<Voucher>(). How do I do this?
> >
> > > > > public IEnumerable<Voucher> GetUpdatedVouchers(byte[]
> > > > > startingTimestamp, int ItemId)
> > > > >        {
> > > > >            var session = GetCleanSession();
> > > > >            var query = session.CreateCriteria(typeof (Voucher));
> >
> > > > >            query.AddAndConditions()
> > > > >
>  .Property("DBTimestamp").IsGreaterThanOrEqualTo((byte
> > > > > [])startingTimestamp);
> > > > >            query.AddAndConditions()
> > > > >                .Property("Itemid").Equals((int)ItemId);
> >
> > > > >            var results = query.List<Voucher>();
> >
> > > > >            return results;
> > > > >        }- Hide quoted text -
> >
> > > > - Show quoted text -- Hide quoted text -
> >
> > - Show quoted text -
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Fluent NHibernate" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/fluent-nhibernate?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to