I have a Linq query that looks something like this:
var query = from x in table where SomeFunctionReturnsBool() select;
private bool SomeFunctionReturnsBool()
{
return true;
}
This returns and exception that says “SomeFunctionReturnsBool has no supported translation to SQL”. I get that this is because it wants to treat “SomeFunctionReturnsBool” as an expression to evaluate as SQL, but it can’t.
Although this Linq query isn’t complicated, the real ones are. How can I accomplish what I’m trying to do here, which is to break out pieces of the query to hopefully make it more readable?
Jeff
UPDATE
Good answers. I am trying now to work with expressions instead, but this code gets me “cannot resolve method Where(lambda expression)”:
var query = from x in table where SomeFunctionReturnsBool() select x;
private Expression<Func<EligibilityTempTable, bool>> SomeFunctionReturnsBool
{
return (x) => true;
}
Another way is to use
Expression<Func<YourType, bool>>predicate…Edit: I don’t usually do it the way I’ve shown above… I was just getting that from the code above. Here is the way I usually implement it. Because then you can tack on additional Enumerable methods or comment them out during debugging.
I prefer to use the PredicateBuilder which allows you to build an expression to be used in your Where…