Crie uma expressão lambda com 3 condições

Eu quero criar uma expressão lambda dinamicamente para isso:

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

e eu escrevo isso:

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)
               )
           );

mas para este pedaço de código:

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

Eu recebi um erro:

Não é possível converter de 'System.Linq.Expressions.BinaryExpression' para 'System.Reflection.MethodInfo'

Como posso adicionar 3 condições a uma expressão lambda?

questionAnswers(2)

yourAnswerToTheQuestion