байт? не работает как тип параметра в таблице параметров iBatis - PullRequest
1 голос
/ 31 декабря 2010

Согласно документам iBatis , с использованием "байта?" как значение типа должно работать в 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 ]

0 голосов
/ 13 января 2011

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

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

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

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

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

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

0 голосов
/ 12 января 2011

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

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

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

...