Crear una expresión lambda con 3 condiciones

Quiero crear una expresión lambda dinámicamente para esto:

(o => o.Year == year && o.CityCode == cityCode && o.Status == status)

y escribo esto:

var body = Expression.AndAlso(
               Expression.Equal(
                    Expression.PropertyOrField(param, "Year"),
                    Expression.Constant(year)
               ),
               Expression.Equal(
                    Expression.PropertyOrField(param, "CityCode"),
                    Expression.Constant(cityCode)
               )
               ,
               Expression.Equal(
                    Expression.PropertyOrField(param, "Status"),
                    Expression.Constant(status)
               )
           );

pero para esta porción de código:

Expression.Equal(
                    Expression.PropertyOrField(param, "Status"),
                    Expression.Constant(status)
                )

Recibí un error:

No se puede convertir de 'System.Linq.Expressions.BinaryExpression' a 'System.Reflection.MethodInfo'

¿Cómo puedo agregar 3 condiciones a una expresión lambda?

Respuestas a la pregunta(2)

Su respuesta a la pregunta