У меня есть код ниже, который в настоящее время возвращает список бизнес-объектов. Хотя он работает, я хочу уменьшить количество повторяющегося кода, который мы сидим. Поскольку приведенный ниже код относится к конкретному типу - каждый BO имеет свой собственный метод ConnecToDbAndGetItems() - весь этот метод дублируется для каждого BO.Учитывая OracleDataReader, как мне вернуть весь набор результатов?
con.Open();
OracleDataReader dr = cmd.ExecuteReader();
BuildListOfItems(dr, ref itemsToReturn);
con.Close();
dr.Close();
Я предпочел бы что-то вроде этого, небольшое постепенные изменения, которые легко управлять:
con.Open();
OracleDataReader dr = cmd.ExecuteReader();
// Gimme all the data here and
// return that to another method for building BOs
con.Close();
dr.Close();
Конечным результатом является общий механизм поиска данных, что все GetXXX() методы могут вызывать и результаты (массив, список, ???) передаются объекту-строителю для дальнейшей обработки.
Как я могу получить все записи от читателя?
Оформить заказ OracleDataAdapter - можно заполнить DataTable всеми результатами. https://msdn.microsoft.com/en-us/library/system.data.oracleclient.oracledataadapter(v=vs.110).aspx – dbugger