Наш уровень доступа к данным использует объекты команд для связи с сервером sql.
В большинстве случаев я жестко запрограммировал размер поля (который соответствует размеру столбца на сервере sql) в построителе параметров команды.
Например:
SqlParameter param = new SqlParameter("@name", NVarChar, 4000);
Что? В чем преимущество указания здесь значения (4000 в этом примере) по сравнению с тем, чтобы просто оставить его равным 0? Больно когда приходится перекомпилировать при изменении размера столбца.