public void Initialize(Type modelType) { if (initialized) { return; } initialized = true; ParameterExpression parameter = Expression.Parameter(typeof(object)); UnaryExpression modelExpression = Expression.Convert(parameter, modelType); Expression whereConditionBody = ExpressionHelper.ConvertConditionParts(modelType, Conditions, modelExpression); WhereExpression = Expression.Lambda <Func <object, bool> >(whereConditionBody, parameter); }