Moment... we are forgetting something...@mark Which NH-Linq version are you using ? I know that is a difficult question but try to download and recompile the trunk of NH-Linq
2009/5/28 Tuna Toksoz <[email protected]> > As long as the object used in parameter is a constant, its value is > evaluated and used as constant > > Employee ee = new Employee(); > ee.BirthDate = DateTime.Now; > var q = > from e in db.Employees > where e.HireDate >= ee.BirthDate > select e; > > Resulted in > > NHibernate: SELECT this_.EmployeeID as EmployeeID17_0_, this_.Address as > Address17_0_, this_.BirthDate as BirthDate17_0_, this_.City as City17_0_, > this_.Country as Country17_0_, > > this_.Extension as Extension17_0_, this_.FirstName as FirstName17_0_, > this_.HireDate as HireDate17_0_, this_.HomePhone as HomePhone17_0_, > this_.LastName as LastName17_0_, > > this_.Notes as Notes17_0_, this_.Photo as Photo17_0_, this_.PhotoPath as > PhotoPath17_0_, this_.PostalCode as PostalCode17_0_, this_.Region as > Region17_0_, this_.Title as Title17_0_, > > > this_.TitleOfCourtesy as TitleOf17_17_0_ FROM Employees this_ WHERE > this_.HireDate >= @p0; @p0 = '5/28/2009 10:58:38 PM' > > > > Tuna Toksöz > Eternal sunshine of the open source mind. > > http://devlicio.us/blogs/tuna_toksoz > http://tunatoksoz.com > http://twitter.com/tehlike > > > > > On Thu, May 28, 2009 at 10:56 PM, Fabio Maulo <[email protected]>wrote: > >> Tuna, You should check what happen when the value come from a property or >> a method of a object used as criteria.Take a look to "req.FromDate" >> probably "req" is a custom class used to hold query info. >> >> >> 2009/5/28 Tuna Toksoz <[email protected]> >> >> The trunk and very early revisions of linq trunk worked in that way, I >>> believe. >>> >>> Tuna Toksöz >>> Eternal sunshine of the open source mind. >>> >>> http://devlicio.us/blogs/tuna_toksoz >>> http://tunatoksoz.com >>> http://twitter.com/tehlike >>> >>> >>> >>> >>> On Thu, May 28, 2009 at 10:36 PM, Mark Nijhof <[email protected]>wrote: >>> >>>> >>>> What version should we use? >>>> >>>> On Thu, May 28, 2009 at 9:29 PM, Tuna Toksoz <[email protected]> wrote: >>>> > >>>> NHibernate: SELECT this_.EmployeeID as EmployeeID17_0_, this_.Address as >>>> Address17_0_, this_.BirthDate as BirthDate17_0_, this_.City as City17_0_, >>>> this_.Country as Country17_0_, >>>> > >>>> this_.Extension as Extension17_0_, this_.FirstName as FirstName17_0_, >>>> this_.HireDate as HireDate17_0_, this_.HomePhone as HomePhone17_0_, >>>> this_.LastName as LastName17_0_, >>>> > >>>> this_.Notes as Notes17_0_, this_.Photo as Photo17_0_, this_.PhotoPath as >>>> PhotoPath17_0_, this_.PostalCode as PostalCode17_0_, this_.Region as >>>> Region17_0_, this_.Title as Title17_0_, >>>> > >>>> this_.TitleOfCourtesy as TitleOf17_17_0_ FROM Employees this_ WHERE >>>> this_.HireDate >= @p0; @p0 = '1/1/1994 12:00:00 AM' >>>> > >>>> > What I get when I run >>>> > >>>> > [Category("WHERE")] >>>> > [Test(Description = "This sample uses WHERE to filter for >>>> Employees >>>> > hired during or after 1994.")] >>>> > public void DLinq2() >>>> > { >>>> > var q = >>>> > from e in db.Employees >>>> > where e.HireDate >= new DateTime(1994, 1, 1) >>>> > select e; >>>> > AssertByIds(q, new[] { 7, 8, 9 }, x => x.EmployeeID); >>>> > } >>>> > >>>> > in tests. >>>> > >>>> > >>>> > >>>> > >>>> > Tuna Toksöz >>>> > Eternal sunshine of the open source mind. >>>> > >>>> > http://devlicio.us/blogs/tuna_toksoz >>>> > http://tunatoksoz.com >>>> > http://twitter.com/tehlike >>>> > >>>> > >>>> > >>>> > >>>> > On Thu, May 28, 2009 at 10:27 PM, Tuna Toksoz <[email protected]> >>>> wrote: >>>> >> >>>> >> Really? hmm, I'll check >>>> >> >>>> >> Tuna Toksöz >>>> >> Eternal sunshine of the open source mind. >>>> >> >>>> >> http://devlicio.us/blogs/tuna_toksoz >>>> >> http://tunatoksoz.com >>>> >> http://twitter.com/tehlike >>>> >> >>>> >> >>>> >> >>>> >> >>>> >> On Thu, May 28, 2009 at 10:20 PM, Mark Nijhof <[email protected] >>>> > >>>> >> wrote: >>>> >>> >>>> >>> Hi Fabio, >>>> >>> >>>> >>> Looks like it is NH.Linq that does the ToString(): >>>> >>> >>>> >>> from >>>> >>> t in NhibSessionHelper.GetSession().Linq<ExternalSystemStatusInfo>() >>>> >>> where t.FromDate > req.FromDate && >>>> >>> (t.ToDate < req.ToDate.Value || t.ToDate == null) && >>>> >>> (t.ExternalSystem.Code == req.Code) >>>> >>> orderby t.FromDate >>>> >>> select t >>>> >>> >>>> >>> What would be a sugested way to solve this? >>>> >>> >>>> >>> -Mark >>>> >>> >>>> >>> On Thu, May 28, 2009 at 9:04 PM, Fabio Maulo <[email protected]> >>>> >>> wrote: >>>> >>> > as you can see something/somebody is injecting strings instead use >>>> >>> > parameters; that is the problem. >>>> >>> > >>>> >>> > 2009/5/28 Mark Nijhof <[email protected]> >>>> >>> >> >>>> >>> >> Hi Fabio, >>>> >>> >> >>>> >>> >> SELECT >>>> >>> >> this_.Id as Id37_1_, >>>> >>> >> this_.FromDate as FromDate37_1_, >>>> >>> >> this_.ToDate as ToDate37_1_, >>>> >>> >> this_.Comment as Comment37_1_, >>>> >>> >> this_.CustomerInfo as Customer5_37_1_, >>>> >>> >> externalsy1_.Id as Id12_0_, >>>> >>> >> externalsy1_.Code as Code12_0_, >>>> >>> >> externalsy1_.Description as Descript3_12_0_ >>>> >>> >> FROM AuditLogDb.dbo.ExternalSystemStatusInfo this_ >>>> >>> >> left outer join AuditLogDb.dbo.ExternalSystem externalsy1_ >>>> >>> >> on this_.Id=externalsy1_.Id >>>> >>> >> WHERE >>>> >>> >> ((this_.FromDate > '27.04.2009 15:06:21' >>>> >>> >> and (this_.ToDate < '27.06.2009 15:06:21' or this_.ToDate is >>>> >>> >> null)) >>>> >>> >> and externalsy1_.Code = 'TrustIdent') >>>> >>> >> ORDER BY this_.FromDate asc; >>>> >>> >> >>>> >>> >> Both dates comes from properties on the entity. >>>> >>> >> >>>> >>> >> Thanks for helping out, >>>> >>> >> >>>> >>> >> -Mark >>>> >>> >> >>>> >>> >> On Thu, May 28, 2009 at 8:23 PM, Fabio Maulo < >>>> [email protected]> >>>> >>> >> wrote: >>>> >>> >> > 2009/5/28 Mark Nijhof <[email protected]> >>>> >>> >> >> >>>> >>> >> >> Sorry that only applies to the mappings of course. We are >>>> using >>>> >>> >> >> Linq >>>> >>> >> >> to access the data and regular save for saving. >>>> >>> >> > >>>> >>> >> > can you send the SQL log ? >>>> >>> >> > -- >>>> >>> >> > Fabio Maulo >>>> >>> >> > >>>> >>> >> > > >>>> >>> >> > >>>> >>> >> >>>> >>> >> >>>> >>> > >>>> >>> > >>>> >>> > >>>> >>> > -- >>>> >>> > Fabio Maulo >>>> >>> > >>>> >>> > > >>>> >>> > >>>> >>> >>>> >>> >>>> >> >>>> > >>>> > >>>> > > >>>> > >>>> >>>> >>>> >>> >>> >>> >> >> >> -- >> Fabio Maulo >> >> >> > > > > -- 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 -~----------~----~----~----~------~----~------~--~---
