У меня есть магическое число в следующем коде...
Microsoft.Practices.EnterpriseLibrary.Data.Database db = /* code omitted */;
db.AddOutParameter(command, "@ParamName", DbType.Int32, 8);
Есть ли очевидный способ для получения длины DbType.Int32
, как требуется для последнего аргумента AddOutParameter
?
Не понимаю, что вы имеете в виду под длиной. Это 32-битное целое число, поэтому это 4 байта, которые могут состоять из 10 цифр, как описано в этой цитате из на этой странице MSDN. Целочисленный тип, представляющий 32-битные целые числа со знаком со значениями от -2147483648 до 2147483647.
Я не уверен, что определение размера ( 8
) для int32 имеет смысл. Например, если он должен отображаться в Oracle Number
с указанным размером 8, он, вероятно, должен быть DbType.Decimal
, а не Int32.
Я бы посоветовал просто удалить восьмерку, так как это выходной параметр, я не думаю, что это на что-нибудь повлияет.