// ===============================================================================
        //                                                          ConditionBean Override
        //                                                          ======================
        protected override void SetupSelectMethodByAuto(MethodInfo methodInfo)
        {
            if (SetupInternalSelectMethodSequenceNextVal(methodInfo))
            {
                return;
            }

            // Assert unsupported
            String query = _annotationReader.GetQuery(methodInfo.Name);

            AssertQueryAnnotationUnsupported(methodInfo, query);

            IDataReaderHandler handler = CreateDataReaderHandler(methodInfo);

            String[]             argNames = MethodUtil.GetParameterNames(methodInfo);
            Type[]               argTypes = MethodUtil.GetParameterTypes(methodInfo);
            SelectDynamicCommand cmd      = CreateSelectDynamicCommand(handler);

            if (argTypes.Length == 1 && ValueTypes.GetValueType(argTypes[0]) == ValueTypes.OBJECT)
            {
                argNames = new String[] { "pmb" };
                AssertAutoQueryByDtoUnsupported(methodInfo, argTypes);
                S2DaoSelectDynamicCommand dynamicCommand = CreateCustomizeSelectDynamicCommand(handler);
                cmd = dynamicCommand;
            }
            else
            {
                HandleAutoQueryByArgsAnnotationUnsupported(methodInfo, argNames);
            }
            cmd.ArgNames = argNames;
            cmd.ArgTypes = argTypes;
            _sqlCommands[methodInfo.Name] = cmd;
        }
 protected void RegisterSqlCommand(String sqlCommandKey, MethodInfo method, String sql, String[] argNames, Type[] argTypes, SelectDynamicCommand cmd)
 {
     cmd.Sql      = sql;
     cmd.ArgNames = argNames;
     cmd.ArgTypes = argTypes;
     _sqlCommands.Add(sqlCommandKey, cmd);
 }
        protected void RegisterSqlCommand(String sqlCommandKey, MethodInfo method, String sql, String[] argNames, Type[] argTypes, IDataReaderHandler myDataReaderHandler)
        {
            SelectDynamicCommand cmd = CreateSelectDynamicCommand(myDataReaderHandler);

            RegisterSqlCommand(sqlCommandKey, method, sql, argNames, argTypes, cmd);
        }