My sample code:
var freeTicket1 = (from ticket in Session.Linq<Ticket>()
where ticket.IsFree select ticket).FirstOrDefault();
var freeTicket2 = (Ticket)Session.CreateQuery("from Ticket
ticket where ticket.IsFree=1").SetMaxResults(1).UniqueResult();
var freeTicket3 = (Ticket)Session.CreateCriteria(typeof
(Ticket)).Add(Restrictions.Eq("IsFree", true)).SetMaxResults
(1).UniqueResult();
return freeTicket1 ?? freeTicket2 ?? freeTicket3;
SQL for all queries:
SELECT TOP 1 PK1_2_0_,
DT2_2_0_,
BLN3_2_0_
FROM
(
SELECT ROW_NUMBER ( ) OVER ( ORDER BY
__hibernate_sort_expr_0__ ) as
row,
query.PK1_2_0_,
query.DT2_2_0_,
query.BLN3_2_0_,
query.__hibernate_sort_expr_0__
FROM
(
SELECT this_.PK_TICKET as PK1_2_0_,
this_.DT_CAPTURE as DT2_2_0_,
this_.BLN_FREE as BLN3_2_0_,
CURRENT_TIMESTAMP as
__hibernate_sort_expr_0__
FROM COMMON.TBL_TICKET this_
WHERE this_.BLN_FREE = 1 /* @p0 */
) query
) page
WHERE page.row > 0
ORDER BY __hibernate_sort_expr_0__
On 30 янв, 23:35, Tuna Toksoz <[email protected]> wrote:
> .SetMaxResult() ?
>
> Tuna Toksözhttp://tunatoksoz.comhttp://twitter.com/tehlike
>
> Typos included to enhance the readers attention!
>
>
>
> On Fri, Jan 30, 2009 at 10:22 PM, letov <[email protected]> wrote:
>
> > Hello everyone.
> > Is there a way to get pure "SELECT TOP" on sql server 2005, using hql
> > or criteria api or nhibernate.linq?
> > Thanks.- Скрыть цитируемый текст -
>
> - Показать цитируемый текст -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"nhusers" 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/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---