//easy way: Expression> expression1 = a => ids.Contains(a.ID) //the dynamic way: var propertyType = typeof(int); var parameter = Expression.Parameter(typeof (Artist), "a"); var body = Expression.Call( typeof(Enumerable).GetMethods().First(m => m.Name.Equals("Contains")).MakeGenericMethod(propertyType), Expression.NewArrayInit(propertyType, ids.Select(i => Expression.Constant(i)).ToArray()), Expression.Property(parameter, "ID"), propertyType)); var expression1 = Expression.Lambda>(body, parameter);