Это связано с тем, что DataReaders является "конструктивным". Любые параметры, помеченные как ParameterDirection.Output
, не будут «заполнены», пока DataReader не будет закрыт. Пока все еще открыты, все выходные параметры, скорее всего, просто вернутся null
.
С полной статьей Microsoft KB по этому поводу можно ознакомиться здесь .