Я нахожусь в процессе обновления приложения до VS 2010 с использованием EntLib 5. В приложении в его нынешнем виде есть множество случаев, когда выпадающий список привязан к SqlDataReader.Однако, прежде чем он будет связан, я использую свойство HasRows, чтобы увидеть, пуст ли DataReader.Так как метод ExecuteReader в EntLib 5.0 возвращает IDataReader, чтобы сделать то же самое, мне нужно преобразовать IDataReader в RefCountingDataReader, а затем привести свойство InnerReader к SqlDataReader.
Using rdr As SqlDataReader = CType(CType(db.ExecuteReader("spname"), RefCountingDataReader).InnerReader, SqlDataReader)
Я нашел этот обходной путь в Интернете, и он был решен во многих местах (включая SO).
Однако другой альтернативой является загрузка IDataReader в DataTable, проверка количества строк, а затем привязка этого к раскрывающемуся списку.Какой вариант лучше?Или другой вариант оптимален?
Извините, что так долго и растянулся.Любой совет будет потрясающим.