Какой смысл в ParameterSchema.AllowDBNull в CodeSmith? - PullRequest
0 голосов
/ 28 апреля 2011

В настоящее время я пытаюсь использовать написать простой класс-оболочку C # для всех хранимых процедур в базе данных.Для этого я использую CodeSmith и, в частности, SchemaExplorer.

Перебирая параметры хранимой процедуры, я заметил свойство ParameterSchema.AllowDBNull и поинтересовался, для чего это нужно.Насколько мне известно, невозможно объявить параметр как NOT NULL, и поэтому NULL всегда разрешено передавать любому параметру.

В ходе тестирования выясняется, что AllowDBNull всегда имеет значение true (или припо крайней мере, я не смог написать процедуру, которая приводит к ложным).Итак, это заставляет меня спросить, для чего это нужно?

Я нашел этот пост на форумах CodeSmith еще в 2003 году: http://community.codesmithtools.com/Support_Forums/f/3/t/264.aspx

Они говорят, что "исправят" это вследующий выпуск, который заставляет меня думать, что я что-то упускаю или не понимаю в этом свойстве.

Спасибо за внимание.

1 Ответ

1 голос
/ 11 августа 2011

Я работаю в CodeSmith Tools и обновил сообщение на форуме из вашего вопроса.Я проконсультировался с Эриком об этой проблеме, и мы решили, что это было сделано специально, потому что вы всегда можете передать значение null в параметр хранимой процедуры.Как часть вашего вопроса, это свойство, которое определено в базовом классе и позволяет вам определять в других объектах схемы (например, ColumnSchema), может ли объект обнуляться.1006 * сгенерирует строго типизированный класс из существующей хранимой процедуры или функции.У вас была возможность взглянуть на это?

...