Как установить длину для параметра хранимой процедуры - PullRequest
3 голосов
/ 03 декабря 2011

Из-за некоторых соображений я использую хранимую процедуру для вставки сущности в БД.Некоторые из моих полей могут иметь длину более 4000 символов, но запрос, сгенерированный NH, объявляет некоторые переменные nvarchar (4000) для передачи значения параметров.Есть ли способ установить длину параметра хранимой процедуры?мое отображение параметров выглядит следующим образом:

<query-param type="System.String" name="ArticleBody" />

Когда я устанавливаю свойство длины в этом теге так:

<query-param type="System.String" name="ArticleBody" length="20000" />

Я получаю эту ошибку: «Инициализатор типа для News360.Common.Singleton`1 'выбросил исключение. "

Любая помощь будет оценена Спасибо и С уважением

1 Ответ

1 голос
/ 16 декабря 2011

также элемент <query-param> поддерживает только атрибуты type и name.

Реальная проблема в том, что вы используете неправильный тип. На самом деле я думаю, что вы также объявляете свои типы неправильно. Атрибут type ожидает, что значения представлены в первом столбце таблиц, найденных в 5.2.2. Основные типы значений в справочнике NHibernate.

Итак, используйте StringClob вместо string (вместо System.String).

ура

...