If I understant it is in the result property there'is a problem with oracle,
<resultMap id="order-with-lines-array" class="Order" extends="lite-order-result-by-name"> <result property="LineItemsArray" column="Order_ID" select="GetLineItemsForOrder"/> </resultMap> the value of the column Order_ID is decimal, but how could the test parameterValue.GetType().IsPrimitive in ParameterMap.SetParameter could be false ? For me, the lines that you have added are parameterValue.GetType() != typeof(Guid) && parameterValue.GetType() != typeof(Decimal) && doubled usage with parameterValue.GetType().IsPrimitive . On 5/19/05, Roberto R <[EMAIL PROTECTED]> wrote: > Ack, forgot the exception: > > IBatisNet.DataMapper.Test.NUnit.SqlMapTests.ResultMapTest.TestArrayMapping > : IBatisNet.Common.Exceptions.ProbeException : There is no > Get property named 'value' in class 'Decimal' > > > > On 5/18/05, Roberto R <[EMAIL PROTECTED]> wrote: > > Gilles, > > > > I'm getting some errors with the MS OracleClient and ODP providers with > the TypeHandler changes. > > > > In any of the NUnit tests that use a <result select="Getzzzz"> (mostly > resultMap tests) such as TestArrayMapping, I get the following: > > > > <statement id="GetOrderWithLineItemArray" > > parameterClass="int" > > resultMap="order-with-lines-array"> > > select * from Orders where Order_ID = #value# > > </statement> > > > > at > IBatisNet.Common.Utilities.Objects.ObjectProbe.GetProperty(Object > obj, String propertyName) in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.Common\Utilities\Objects\ObjectProbe.cs:line > 349 > > at > IBatisNet.Common.Utilities.Objects.ObjectProbe.GetPropertyValue(Object > obj, String propertyName) in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.Common\Utilities\Objects\ObjectProbe.cs:line > 491 > > at > IBatisNet.DataMapper.Configuration.ParameterMapping.ParameterMap.SetParameter(ParameterProperty > mapping, IDataParameter dataParameter, Object parameterValue) in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\Configuration\ParameterMapping\ParameterMap.cs:line > 262 > > at > IBatisNet.DataMapper.Commands.DefaultPreparedCommand.ApplyParameterMap(IDalSession > session, IDbCommand command, RequestScope request, IStatement statement, > Object parameterObject) in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\Commands\DefaultPreparedCommand.cs:line > 155 > > at > IBatisNet.DataMapper.Commands.DefaultPreparedCommand.Create(RequestScope > request, IDalSession session, IStatement statement, Object parameterObject) > in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\Commands\DefaultPreparedCommand.cs:line > 80 > > at > IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForList(RequestScope > request, IDalSession session, Object parameterObject, Int32 skipResults, > Int32 maxResults, RowDelegate rowDelegate) in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line > 581 > > at > IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForList(IDalSession > session, Object parameterObject, Int32 skipResults, Int32 maxResults) in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line > 528 > > at > IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForList(IDalSession > session, Object parameterObject) in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line > 509 > > at > IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecutePostSelect(IDalSession > session, RequestScope request) in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line > 897 > > at > IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForObject(RequestScope > request, IDalSession session, Object parameterObject, Object resultObject) > in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line > 463 > > at > IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession > session, Object parameterObject, Object resultObject) in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line > 401 > > at > IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession > session, Object parameterObject) in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line > 382 > > at > IBatisNet.DataMapper.SqlMapper.QueryForObject(String > statementName, Object parameterObject) in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\SqlMapper.cs:line > 519 > > at > IBatisNet.DataMapper.Test.NUnit.SqlMapTests.ResultMapTest.TestArrayMapping() > in > C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper.Test\NUnit\SqlMapTests\ResultMapTest.cs:line > 192 > > > > The value (Order_Id in this case) is being returned as a Decimal by Oracle > (as are all numbers). It's the same exception for both MS OracleClient and > ODP (surprising since OracleClient has been doing better at the tests than > ODP). I'm going to try to keep debugging to see why the TypeHandler changes > are causing this error. > > > > Roberto > > > > > >