req is indeed a custom class for holding criteria information,
property is a normal datetime type.

-Mark

On Thu, May 28, 2009 at 9:59 PM, Tuna Toksoz <[email protected]> wrote:
> 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
>>
>>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to