Question: These are not installed on Android 4.2.1 by default, so is it possible to cross-compile the source for e.g. [GNU](http://ftp.gnu.org/gnu/grep/) `grep` or `find` and have it run on Android? ( Preferably **without having to root** the device or installing some app off [PLAY](https://play.google.com/store) e.g. busybox.) Are there any missing dependencies that will prevent this? I am developing on Ubuntu 10.0.04

Answer: 
Well, you can't.

If you want to have criteria used in Where clause of your SQL query, you need to write them directly as a linq.Expression so that entity may parse it and transform it into SQL, not an external function.

Somthing like this works :

```
DateTime date = DateTime.Now.AddDays(ageFrom);
all = from item in all
      where item.BirthDay > date
      select item;

```
[Query Expressions](http://msdn.microsoft.com/en-gb/library/bb397676.aspx) are built in to the C# compiler and as such, it only understands the expression that are built in to the compiler.

For example, when you use the `where` keyword, it converts that to a call to the [`Where<TSource>(this IQueryable<TSource> source, Func<TSource, bool> predicate)`](http://msdn.microsoft.com/en-us/library/bb535040.aspx) method.

This is true of Linq To Objects and Linq To SQL. What's more, with Linq To SQL, the compiler then has to convert the Query Expression to SQL, which has no way of knowing the definition of your `GetAge` method.