score:0

is this what you want?

func<model, string> p = s => s.name;

var query = data.where(s => an_array.contains(p(s))).distinct().tolist();

score:0

i think what you want is any, rather than contains. one of the overloads takes a predicate that you can use to test for a specific condition:

public void getfiltereditems<t>(func<t, bool> predicate)
{
    var queryresult = data.where(s => an_array.any(predicate)).distinct().tolist();
}

Related Query

More Query from same tag