public object FromDb(object value, Type toType)
{
if (value == null || !toType.IsValueType)
{
return value;
}
var fromType = value.GetType();
if (fromType == toType)
{
return value;
}
var underlyingType = toType.GetUnderlyingGenericType();
return underlyingType.IsEnum
? TypeHelper.NullSafeTransform(value, x => Enum.ToObject(toType, value))
: Convert.ChangeType(value, toType);
}