Yes the matter is all there (probably)Expression<Func<T, bool>>
Expression<Func<string, Func<T, bool>>

2009/10/8 Paco Wensveen <[email protected]>

>
> You can use expressions instead of Func and manipulate the Expression
> to or instead of using or between funcs
>
> On Thu, Oct 8, 2009 at 10:39 PM, Mike <[email protected]> wrote:
> >
> > I've been trying to create a dynamic linq query given an arbitrary
> > number of where clauses like this:
> >
> >           //Predicate returning ingredients with name containing the
> > keyword
> >            Func<string, Func<Ingredient, bool>> buildKeywordPredicate
> > =
> >                (keyword) => ingredient => ingredient.Name.Contains
> > (keyword);
> >
> >            //Chain 2 predicates together
> >            Func<Func<Ingredient,bool>, Func<Ingredient, bool>,
> > Func<Ingredient, bool>> chainPredicates =
> >                (pred1, pred2) =>
> >                    x => pred1(x) || pred2(x);
> >
> >            //Generate the complete filter from a list of keywords
> >            Func<Ingredient,bool> filter = null;
> >            foreach (var keyword in keywords) {
> >                filter = filter == null
> >                    ? buildKeywordPredicate(keyword)
> >                    : chainPredicates(filter, buildKeywordPredicate
> > (keyword));
> >            }
> >
> >            return Session.Linq<Ingredient>().Where(filter);
> >
> > However nothing is returned and I can see that no where clauses are
> > used in the generated SQL.
> > I know this is possible to do with HQL but is it currently supported
> > in Linq to NHibernate?
> >
> > Thanks, Mike
> >
> > >
> >
>
> >
>


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