Байт? не работает как тип параметра в таблице параметров iBatis

Согласно документам iBatis, используется "byte?" как значение типа должно работать в parameterMap, Я использую DataMapper версии 1.6.1.

Я получаю сообщение об ошибке: Не удалось загрузить тип из строкового значения 'byte?',

Это исключение конфигурации, которое отображает эту информацию в трассировке стека:

Произошла ошибка при загрузке SqlMap.

  • Проверьте атрибут отображения типа typeHandler '' (должен быть реализацией ITypeHandlerCallback).
  • Ошибка возникла в [sqlMap embedded="MyApp.Data.Config.Rate.xml, MyApp" Mxmlns="http://ibatis.apache.org/dataMapper"]
  • Проверьте Rate.InsertParams.]

Вот блок XML для Rate.InsertParams:

<parameterMaps>
<parameterMap id="InsertParams" class="RateCategory">
  <parameter property="RateId" column="RateId" type="int"/>
  <parameter property="Name" column="Name" type="string" size="32"/>
  <parameter property="Charge" column="Charge" type="decimal?"/>
  <parameter property="ChargeTypeId" column="ChargeTypeId" type="byte?"/>
</parameterMap>

Есть идеи, почему это не сработает?

2 ответа

Решение

После большого количества вопросов и публикации, окончательный ответ заключается в том, что документы неверны.

На официальном форуме iBatis.Net было сказано следующее:

"У вас есть несколько вариантов:

  1. просто используйте type="byte"
  2. не указывайте тип
  3. байт? является синтаксическим сахаром System.Nullable`1[[System.Byte]]"

Который в основном то, что я уже понял сам. Int? работает но байт? не делает. Также не короткий? или долго?

Документы должны быть исправлены.

Насколько я могу сказать, нет никакого "байта?" псевдоним. Вот доказательство.

Вы также можете выяснить, что точно поддерживается, а что нет из этого файла.

"Код никогда не лжет". Документация делает:(

Другие вопросы по тегам