public static Expression GetValueConversionOrCreation( this IMemberMapperData mapperData, Expression value, Type targetType) { if (!mapperData.HasConfiguredSimpleTypeValueFactories()) { return(mapperData.GetValueConversion(value, targetType)); } var valueFactories = mapperData .QuerySimpleTypeValueFactories(value.Type, targetType) .ToArray(); if (valueFactories.None()) { return(mapperData.GetValueConversion(value, targetType)); } return(mapperData.GetConversionOrCreationExpression(value, targetType, valueFactories)); }