after solve you "magic-string" problem you have to solve "magic-numbers"
On Mon, Dec 20, 2010 at 4:01 PM, Nadav Ben-Gal <[email protected]> wrote: > hey, > as i said, HQL/Criteria doesn't help me... its the same as pure SQL in > that case... > it doesn't help me remove the magic strings aka - ca.ToHour/ > ca.FromHour/ca.StudyCard.id etc) that's why i asked for a QueryOver, > if it is even possible... > > Thanks, > Nadav Ben-Gal > > > On Dec 19, 11:59 pm, Fabio Maulo <[email protected]> wrote: > > uow.Session.CreateQuery("select SUM(((hour(ca.ToHour) - > > hour(ca.FromHour)) * 10000000 * 60 * 60 ) + ((Minute(ca.ToHour) - > > minute(ca.FromHour)) * 10000000 * 60)) from CalendarAppointment ca > > where ca.StudyCard.id = :studyCard").SetInt64("studyCard", > > appointment.StudyCard.Id).UniqueResult(); > > > > or something like that > > > > > > > > > > > > > > > > > > > > On Sun, Dec 19, 2010 at 5:21 PM, Nadav Ben-Gal <[email protected]> > wrote: > > > Hey, > > > I'm trying to change this: > > > uow.Session.CreateSQLQuery("select SUM(((hour(apt_to_hour) - > > > hour(apt_from_hour)) * 10000000 * 60 * 60 ) + ((Minute(apt_to_hour) - > > > minute(apt_from_hour)) * 10000000 * 60)) from calendar_appointments > > > where apt_crd_id = :studyCard").SetInt64("studyCard", > > > appointment.StudyCard.Id).UniqueResult(); > > > > > sql query into QueryOver... > > > > > its getting the time difference (in ticks) between the apt_to_hour and > > > apt_from_hour (both are DateTime fields, named ToHour and FromHour) > > > i have tried doing something like this: > > > > > uow.Session.QueryOver<CalendarAppointment>() > > > .SelectList(list => > > > (list.SelectSum(ca => > > > ((ca.ToHour.Hour - > > > ca.FromHour.Hour) * 10000000 * 60 * 60) + > > > ((ca.ToHour.Minute - > > > ca.FromHour.Minute) * 10000000 * > > > 60)))) > > > .SingleOrDefault<Int64>(); > > > > > but i get the felling its not the right way... probably because NH > > > yells at me with the following exception : > > > Could not determine member from (((((ca.ToHour.Hour - > > > ca.FromHour.Hour) * 10000000) * 60) * 60) + (((ca.ToHour.Minute - > > > ca.FromHour.Minute) * 10000000) * 60)) > > > > > is there a way to create that query in a queryover? or i'm doomed to > > > stay with sql and magic strings? (don't care about HQL/Criteria since > > > its only 1 record fetching and not an N+1 records fetch which kills me > > > [in the matter of performance.. :)] and its not solving my magic > > > strings problem...) > > > > > thanks a lot, > > > > > Nadav Ben-Gal > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "nhusers" group.> To post to this group, send email > [email protected]. > > > To unsubscribe from this group, send email to> > [email protected]<nhusers%[email protected]> > <nhusers%[email protected]<nhusers%[email protected]> > > > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/nhusers?hl=en. > > > > -- > > Fabio Maulo > > -- > 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]<nhusers%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/nhusers?hl=en. > > -- Fabio Maulo -- 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.
