0

HI, I'm using Linq To Entities and I'd like to convert this

return db.Products
         .Where(p => p.idUser.Equals(id) && 
                     p.Category.Genre.Any(g => g.visible))

into something like

Func<Genre, bool> expr = g => g.visible

return db.Products
         .Where(p => p.idUser.Equals(id) && 
                     p.Category.Genre.Any(expr))

so I can add more complexity with something like this

Func<Genre, bool> expr = g => g.visible
expr += g => g.position < 5

But I always have an 'internal 1025 error .NET'. Can anyone help me, please? Thanks.

Sig. Tolleranza
  • 499
  • 9
  • 27

1 Answers1

3

You need to use Expressions, not delegates. You can use the PredicateBuilder class by Joseph Albahari to build your predicate dynamically :

Expression<Func<Genre, bool>> expr = g => g.visible;
expr = expr.And(g => g.position < 5);
Thomas Levesque
  • 286,951
  • 70
  • 623
  • 758