These things are planned for re-linq:
Add transformers for Nullable<T>.HasValue/Value 
https://www.re-motion.org/jira/browse/RM-3577
Provide an automatic transformation for VB's Information.IsNothing
handler https://www.re-motion.org/jira/browse/RM-3573

I assume NH will upgrade it's reference to re-linq soon after that,
but I don't know if there'll be a release.

Supporting comparison via equality expressions or calls to Equals()
will still need to be handled by NH, can't talk about that.

HTH,
Stefan


On 9 Dez., 17:49, JamesSpibey <[email protected]> wrote:
> Unfortunately you can't (judging by the tests I've just written) but
> what you can do is
>
> prop.VLTDays Is Nothing
> prop.VLTDays IsNot Nothing
>
> This is a workaround, but it would be better if the linq provider
> handled all the various scenarios rather than having to remember that
> only certain expressions will work without crashing
>
> On Dec 9, 4:28 pm, DanPlaskon <[email protected]> wrote:
>
>
>
> > James,
>
> > I may be wrong; but can't you perform these queries with
> > prop.Equals(Nothing) and Not prop.Equals(Nothing) ?
>
> > On Dec 9, 6:14 am, JamesSpibey <[email protected]> wrote:
>
> > > Thanks for the reply, I grabbed the trunk version of relinq and
> > > rebuilt NHibernate (adding a handler for VBStringComparisonExpression)
> > > and that does seem to solve the = operator problem. However, there are
> > > also a couple issues with nullable types which I haven't been able to
> > > solve, for example
>
> > > <TestMethod()>
> > >     Public Sub
> > > NHibernate_Linq_Handles_Nullable_Fields_Using_Not_IsNothing()
>
> > >         Dim repo = ObjectFactory.GetInstance(Of IProductRepository)()
>
> > >         Using UnitOfWork.Start
>
> > >             Dim productCount = (From p In repo.GetProducts(Nothing)
> > >                                 Where Not IsNothing(p.VLTDays)).Count
>
> > >         End Using
>
> > >     End Sub
>
> > >     <TestMethod()>
> > >     Public Sub
> > > NHibernate_Linq_Handles_Nullable_Fields_Using_HasValue()
>
> > >         Dim repo = ObjectFactory.GetInstance(Of IProductRepository)()
>
> > >         Using UnitOfWork.Start
>
> > >             Dim productCount = (From p In repo.GetProducts(Nothing)
> > >                                 Where p.VLTDays.HasValue).Count
>
> > >         End Using
>
> > >     End Sub
>
> > > <TestMethod()>
> > >     Public Sub
> > > NHibernate_Linq_Handles_Nullable_Fields_Using_Not_IsNothing()
>
> > >         Dim repo = ObjectFactory.GetInstance(Of IProductRepository)()
>
> > >         Using UnitOfWork.Start
>
> > >             Dim productCount = (From p In repo.GetProducts(Nothing)
> > >                                 Where Not IsNothing(p.VLTDays)).Count
>
> > >         End Using
>
> > >     End Sub
>
> > >     <TestMethod()>
> > >     Public Sub
> > > NHibernate_Linq_Handles_Nullable_Fields_Using_HasValue()
>
> > >         Dim repo = ObjectFactory.GetInstance(Of IProductRepository)()
>
> > >         Using UnitOfWork.Start
>
> > >             Dim productCount = (From p In repo.GetProducts(Nothing)
> > >                                 Where p.VLTDays.HasValue).Count
>
> > >         End Using
>
> > >     End Sub
>
> > > On Dec 8, 5:16 pm, sbohlen <[email protected]> wrote:
>
> > > > I appears that some (if not quite all) of these issues are addressed
> > > > in a later release of the reLINQ provider (atop which much of NH's
> > > > LINQ support is based).  We are looking into this and if it proves to
> > > > be the case its likely that NH 3.0.1 would probably include these
> > > > updates, addressing most of these VB.NET-related issues.
>
> > > > In the mean time, if you want to expedite this process for your own
> > > > consumption, you can build the NH3 release code against the absolute
> > > > latest trunk build of reLINQ and see for yourself if this addresses
> > > > these issues.  (BTW, if you do pursue this then it would be beneficial
> > > > if you report your results back to this thread).
>
> > > > Regards,
>
> > > > -Steve B.
>
> > > > On Dec 6, 10:41 am, JamesSpibey <[email protected]> wrote:
>
> > > > > Hi,
>
> > > > > I've just download NHibernate 3 GA and was disappointed to find that
> > > > > the new NHibernate Linq provider has the same problems with VB.NET
> > > > > that the previous on did, mainly
>
> > > > > - Handling of Nullable types (Neither IsNothing(x) or x.HasValue) work
> > > > > - Equality operator on strings (although we can get around this by
> > > > > using the Equals() method)
>
> > > > > Moving to C# is not an option for us. Are there any plans to make the
> > > > > linq provider work with VB.NET?- Hide quoted text -
>
> > > - Show quoted text -- Zitierten Text ausblenden -
>
> - Zitierten Text anzeigen -

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