Τελικά τα πράγματα μάλλον είναι πιο απλά από ότι το περίμενα:
αν υποθέσουμε ότι έχουμε ένα entity (τύπου Culture) με 3 properties
Name string
Displayname string
CultureId int
τότε θα μπορούσαμε να συντάξουμε κάτι της μορφής:
Expression<Func<Culture, bool>> whereClause = c => (
(!String.IsNullOrEmpty(FilterCulture.Name) ? c.Name.Contains(FilterCulture.Name) : true) &&
(!String.IsNullOrEmpty(FilterCulture.Displayname) ? c.Displayname.Contains(FilterCulture.Displayname) : true) &&
(FilterCulture.CultureId > 0 ? c.CultureId == FilterCulture.CultureId : true)
);
Δουλεύει τέλεια!