У меня есть IDataRecord reader
, из которого я получаю десятичную дробь следующим образом:
decimal d = (decimal)reader[0];
По какой-то причине это вызывает недопустимое исключение приведения, говоря, что «Указанное приведение недействительно».
Когда я делаю reader[0].GetType()
, он говорит мне, что это Int32. Насколько я знаю, проблем быть не должно ....
Я проверил это с помощью этого фрагмента, который отлично работает.
int i = 3750;
decimal d = (decimal)i;
Это заставило меня почесать голову, задаваясь вопросом, почему не удается распаковать int, содержащийся в читателе, как десятичный.
Кто-нибудь знает, почему это может происходить? Что-то мне не хватает?