Thanks for your reply. Renaming the variable didn't fix it
unfortunately so I think I'm going to have to abandon the Linq
provider and go back to ICriteria. Shame, would've made things so much
cleaner

On Sep 24, 5:43 am, alwin <[email protected]> wrote:
> You can try to rename the district variable. Read somewhere that
> current linq2NH uses the variable names as identifiers, and you can
> get conflicts.
>
> Dim districtToSearch As String = "YC"
>
> Return From p In GetSession.Linq(Of Product)() _
>           Where p.Prices.Any(Function(x) x.District =
> districtToSearch)
>
> When all else fails, you can use Criteria/HQL to at least get the
> result you want.
>
> On 23 sep, 21:01, JamesSpibey <[email protected]> wrote:
>
>
>
> > Can anyone help with this please?
>
> > On Sep 21, 10:51 am, JamesSpibey <[email protected]> wrote:
>
> > > Thanks for the reply. That query was a mistake - I was trying to
> > > simplify a larger query and the example I gave wasn't actually the
> > > root problem.
>
> > > Take for example the following query
>
> > > Dim district As String = "YC"
>
> > > Return From p In GetSession.Linq(Of Product)() _
> > >           Where p.Prices.Any(Function(x) x.District = district)
>
> > > x.District and district are both strings. However, the error I get is
>
> > > [ArgumentException: Expression of type 'System.Int32' cannot be used
> > > for return type 'System.Boolean']
> > >    System.Linq.Expressions.Expression.ValidateLambdaArgs(Type
> > > delegateType, Expression& body, ReadOnlyCollection`1 parameters)
> > > +760320
> > >    System.Linq.Expressions.Expression.Lambda(Type delegateType,
> > > Expression body, IEnumerable`1 parameters) +57
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.VisitLambda
> > > (LambdaExpression lambda) +31
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
> > > +379
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.VisitList
> > > (ReadOnlyCollection`1 original) +70
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.VisitMethodCall
> > > (MethodCallExpression m) +31
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
> > > +341
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.VisitLambda
> > > (LambdaExpression lambda) +13
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
> > > +379
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.VisitUnary
> > > (UnaryExpression u) +13
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
> > > +75
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.VisitList
> > > (ReadOnlyCollection`1 original) +70
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.VisitMethodCall
> > > (MethodCallExpression m) +31
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
> > > +341
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.VisitList
> > > (ReadOnlyCollection`1 original) +70
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.VisitMethodCall
> > > (MethodCallExpression m) +31
> > >    NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp)
> > > +341
> > >    NHibernate.Linq.NHibernateQueryProvider.TranslateExpression
> > > (Expression expression) +38
> > >    NHibernate.Linq.NHibernateQueryProvider.Execute(Expression
> > > expression) +14
> > >    NHibernate.Linq.QueryProvider.System.Linq.IQueryProvider.Execute
> > > (Expression expression) +8
> > >    System.Linq.Queryable.Count(IQueryable`1 source) +240
>
> > > Am I trying to do something which isn't implemented?
>
> > > Thanks
>
> > > James
>
> > > On Sep 18, 2:42 pm, Fabio Maulo <[email protected]> wrote:
>
> > > > From p In GetSession.Linq(Of ProductPrice)() _
> > > > Where p.WhseCode = 100 _
> > > > Select p.ProductID
>
> > > > 2009/9/18 JamesSpibey <[email protected]>
>
> > > > > Hi,
>
> > > > > I'm having difficulty querying a nullable field using  NH Linq. For
> > > > > Example
>
> > > > > From p In GetSession.Linq(Of ProductPrice)() _
> > > > > Where p.WhseCode.Value = 100 _
> > > > > Select p.ProductID
>
> > > > > This fails with the following error
>
> > > > > could not resolve property: WhseCode.Value of:
> > > > > MyCompany.Data.ProductPrice
>
> > > > > Clearly it can't match the .Value on the Nullable value back to the
> > > > > mapped field on the object. Is there a way around this?
>
> > > > > Thanks
>
> > > > > James
>
> > > > --
> > > > 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