public object ConvertToDb(object value)
{
if (value == null)
{
return null;
}
var underlyingType = value.GetType().GetUnderlyingGenericType();
Log.Debug("Converting '{0}' from type {1}", value, underlyingType.FullName);
var type = ResolveType(underlyingType);
return type.ToDb(value);
}