[ http://nagoya.apache.org/jira/browse/IBATISNET-13?page=history ]

Gilles Bayon reassigned IBATISNET-13:
-------------------------------------

    Assign To: Gilles Bayon

> nullValue not working with GUIDs
> --------------------------------
>
>          Key: IBATISNET-13
>          URL: http://nagoya.apache.org/jira/browse/IBATISNET-13
>      Project: iBatis for .NET
>         Type: Bug
>     Reporter: Henrik Uffe Jensen
>     Assignee: Gilles Bayon

>
> Convert.ChangeType for some reason does not support GUIDs, so when the 
> 'nullValue' attribute is used on a parameter in a parameterMap an exception 
> is thrown. 
> In 
> IBatisNet.DataMapper.Configuration.ParameterMapping.ParameterMap.GetValueOfProperty()
>  the nullValue to use for comparing is retrieved with the following code, 
> where the Convert.ChangeType does not like a Guid
> if (propertyInfo.PropertyType == typeof(System.Decimal))
> {
>     CultureInfo culture = new CultureInfo( "en-US" );
>     // nullValue decimal must be  ######.##
>     nullValue = decimal.Parse( property.NullValue, culture);
> }
> else
> {
>     nullValue = Convert.ChangeType( property.NullValue, 
> propertyInfo.PropertyType );
> }
> The solution is to handle GUIDs as a special case just as is already done 
> with Decimal values. I tested with the following code and 
> nullValue="00000000-0000-0000-0000-000000000000" and then using Guid.Empty on 
> my properties and it worked fine
> if (propertyInfo.PropertyType == typeof(System.Decimal))
> {
>          CultureInfo culture = new CultureInfo( "en-US" );
>        // nullValue decimal must be  ######.##
>       nullValue = decimal.Parse( property.NullValue, culture);
> }
> else if (propertyInfo.PropertyType == typeof(System.Guid))
> {
>         nullValue = new Guid(property.NullValue);
> }
> else
> {
>       nullValue = Convert.ChangeType( property.NullValue, 
> propertyInfo.PropertyType );
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to