Index: MappedStatement.cs =================================================================== --- MappedStatement.cs (revision 417192) +++ MappedStatement.cs (working copy) @@ -766,7 +766,23 @@ { command.ExecuteNonQuery(); } - else + /* BEGIN ODDURS PATCH */ + else if (_statement is Procedure && ((Procedure) _statement).UseReturnValue) + { + IDataParameter rvp = command.CreateParameter ( ); + rvp.Direction = ParameterDirection.ReturnValue; + command.Parameters.Add ( rvp ); + command.ExecuteNonQuery ( ); + generatedKey = rvp.Value ; + if ( ( _statement.ResultClass != null ) && + _sqlMap.TypeHandlerFactory.IsSimpleType ( _statement.ResultClass ) ) + { + ITypeHandler typeHandler = _sqlMap.TypeHandlerFactory.GetTypeHandler ( _statement.ResultClass ); + generatedKey = typeHandler.GetDataBaseValue ( generatedKey, _statement.ResultClass ); + } + } + /* END ODDURS PATCH */ + else { generatedKey = command.ExecuteScalar(); if ( (_statement.ResultClass!=null) &&