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;

```
Why not use a `List<Person>.FindAll()` method and pass in a method filter as the predicate?
You would use the method like this.

```
List<Person> filteredPersons = allPersons.FindAll(FilterPersons);

```

Below is the a sample method you would use as your filter.

```
bool FilterPersons(Person p)
{
    if(//enter criteria here to determine if you want to select the person)
        return true;
    else
        return false;
}

```

To do what you want this may be the code you need.

```
bool FilterPersons(Person p)
{
    var itemAge = Common.GetAge(item.BirthDay);

    if( itemAge > AgeFrom )
        return true;
    else
        return false;
}

```